场景一,两台服务器。一台资源服务器,一台数据服务器。资源服务器保存源码及图片、视频、音频等资源。数据服务器存放着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级联语句来代替子查询语句等。
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
If you enjoyed what you read here, create your account today and start earning FREE STEEM!