msql索引亲历
2015-11-20 11:19
260 查看
1.管理一个考试系统,最近老是有会员反映登陆慢、考试慢等等问题,于是花了一个晚上去研究网站出现的问题,当时数据库放在rds上,然后用navicat去测试,测试后发现数据库放在服务器上比放在rds上快了点。
然后就把数据移到服务器上,但是数据量比较大,用navicat去导入的时候总是提示:“MySQL server has gone away”,导致数据移入失败,然后查了一下资料,发现通过navicat设置参数后就可以导入大量的数据了。设置方法如下:工具->服务器监控->左边选择连接的服务器->右边找到变量max_allowed_packet,把他的值改7位数应该就够了。导入几百万的数据不是问题。
2.第二天成功把数据库转移到线下之后,问题依然存在,而这次测试的时候发现用rds连接比数据库放在本地块。真是反转的快~,没办法,找别的原因吧。
3.一个程序下来能运行10秒以上,才能出结果。然后查了下执行比较慢的几条sql语句,看了下表,数据有200多万条,其他表数据都不是很大,由于用到了这个表的两个字段,所以就想给其中一个字段加个索引试试,然后就“添加索引”
加完索引后在去执行那几条比较慢的程序,瞬间就变快了,今天才见识了索引的力量......
然后就把数据移到服务器上,但是数据量比较大,用navicat去导入的时候总是提示:“MySQL server has gone away”,导致数据移入失败,然后查了一下资料,发现通过navicat设置参数后就可以导入大量的数据了。设置方法如下:工具->服务器监控->左边选择连接的服务器->右边找到变量max_allowed_packet,把他的值改7位数应该就够了。导入几百万的数据不是问题。
2.第二天成功把数据库转移到线下之后,问题依然存在,而这次测试的时候发现用rds连接比数据库放在本地块。真是反转的快~,没办法,找别的原因吧。
3.一个程序下来能运行10秒以上,才能出结果。然后查了下执行比较慢的几条sql语句,看了下表,数据有200多万条,其他表数据都不是很大,由于用到了这个表的两个字段,所以就想给其中一个字段加个索引试试,然后就“添加索引”
加完索引后在去执行那几条比较慢的程序,瞬间就变快了,今天才见识了索引的力量......
相关文章推荐
- 一个关于if else容易迷惑的问题
- MySQL中的integer 数据类型
- MySQL存储过程
- Android之获取手机上的图片和视频缩略图thumbnails
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- JSP/PHP基于Ajax的分页功能实现
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 数据库链接字符串查询网站
- 关于PHP通过PDO用中文条件查询MySQL的问题。