场景一,两台服务器。一台资源服务器,一台数据服务器。资源服务器保存源码及图片、视频、音频等资源。数据服务器存放着mysql数据库,这样就会带来一个问题,mysql的host服务器地址不再是127.0.0.1,而这个时候,如果没有进行设置的话,使用域名访问作为host,访问数据库会很慢,这个时候就需要再my.ini或者是my.conf里边进行设置了。 设置方法为: 在mysqld下方加入skip-name-resolve,这段代码起到的作用是关闭dns查询,仅可以通过IP地址设置数据库host,未关闭的情况下访问远程数据库,可能一个简单的查询需要3秒,而关闭了dns查询,可能几百毫秒就能完成该查询。
场景二,统计模块需要进行多表联查,可能一次跨月份的大查询,就让服务器卡死在那里。而我们需要用到的是建立字段索引。 一般索引类型分为 normal、full text、unique,这三种类型分别对应的是普通索引、全文索引、唯一索引。一般id是唯一索引,title、category等是普通索引,而文章内容content对应的是full text。 正确使用索引,可以让我们的应用速度飞起,小伙伴们再也不用担心自己的应用因为速度慢被人嘲笑了。
http://jingyan.baidu.com/album/f3ad7d0f23294909c3345be1.html?picindex=3
场景三,全文搜索。这种一般就要借助于第三方的库了。因为mysql的全文搜索引擎对中文的支持不是特别好,网上成熟的解决方案是,使用sphinx。这里就不做过多的展开了。我会在接下来的经验中给大家介绍。通过上边的两个方法,一个是禁用dns查询,第二个是进行索引可以优化mysql的性能,提高访问速度。 当然,程序中的优化也是必不可少的。比如优化select语句,使用join级联语句来代替子查询语句等。
Sort: Trending