mysql怎么优化速度 mysql速度慢

怎么提高mysql速度??1,表设计一定要优化,冗余数据最少,少用连接查询 。如果在实际应用中,使用了极其复杂的连接,子查询,则数据表的设计得要重新考虑了 。
2,尽量用char而不是varchar,因为固定长度得string用起来更快.在当今硬盘容量越来越大的情况下,牺牲点存储空间而换得查询速度得提升是值得的 。
3,通过简化权限来提高查询速度 。如果一个查询之前要执行很多权限验证,则查询速度会慢下来,不妨试着在mysql中用root登录与用你新建的有权限控制的用户登录的速度 , 就可以看出来了,root登录,一下子就进入了 , 而普通用户登录,总会延迟一下 。
4, 表的优化 。如果一个表已经用了一段时间,随着更新和删除操作的发生,数据将会变得支离破碎,这样同样会增加在该表中进行物理搜索所花费的时间 。你要知道的是,在mysql底层设计中,数据库将被映射到具有某种文件结构的目录中,而表则映射到文件 。所以磁盘碎片是很有可能发生的 。庆幸的是,在mysql中,我们可以通过下面的语句进行修复:
optimize table tablename

myisamchk -r tablename
5,使用索引,可以在需要提高查询速度的地方使用索引,简化索引 , 不要创建查询不使用的索引 。可通过运行explain命令分析后决定.
6,使用默认值 , 在尽可能的地方使用列的默认值,只在与默认值不同的时候才插入数据 。这样可以减少执行insert语句所花费的时间
其实,着就要求我们养成良好的习惯(5.6) 。
mysql怎么优化,都要怎么做mysql优化是一个大方向mysql怎么优化速度,大的是要分布式、读写分离,小的是对sql语句进行优化 。不过大多问的也是对sql语句优化,网上很多资料,我就大体说说 。
1、explain+索引 。
在mysql怎么优化速度你要查询的语句前加explain,看下有没有用到索引,如果出现type为all的,则说明有必要添加下索引 。(附多表查询速度比较mysql怎么优化速度:表关联existsin)慢查询优化是一大块 。
2、预统计 。
很经常需要对历史的数据进行过滤统计 。比如移动需要统计上个月电话小时数超过N小时的人 , 那么如果直接取原始数据,那将很慢,此时如果每天晚上凌晨都对数据进行预统计,统计每个人每天电话时数,那再来过滤就很快 。
3、分表分区 。
分表分区也是为了提高搜索速度 。例如 , 公交车的gps行驶记录,gps每隔15s报一次,一辆车一天运行12小时,一天就要插入4*60*12条记录,N辆车就要再乘,其数量极大,所以经常按月分表,分表里再按上报时间做日分区,这样就达到很大的优化,想查询某段时间,mysql很快就可以定位到 。
4、表结构 。
表结构很重要 , 经常需要多表关联查询一些字段,有时可以冗余下放到同一张表 。
mysql优化很有意思,多去查阅些资料,多去尝试,对你有好处的 。
Mysql某个表有近千万数据 , CRUD比较慢 , 如何优化? 数据千万级别之多,占用的存储空间也比较大,可想而知它不会存储在一块连续的物理空间上,而是链式存储在多个碎片的物理空间上 。可能对于长字符串的比较,就用更多的时间查找与比较,这就导致用更多的时间 。
可以做表拆分,减少单表字段数量,优化表结构 。
在保证主键有效的情况下,检查主键索引的字段顺序,使得查询语句中条件的字段顺序和主键索引的字段顺序保持一致 。
主要两种拆分 垂直拆分,水平拆分 。
垂直分表
也就是“大表拆小表”,基于列字段进行的 。一般是表中的字段较多,将不常用的 ,  数据较大,长度较长(比如text类型字段)的拆分到“扩展表“ 。一般是针对 那种 几百列的大表,也避免查询时,数据量太大造成的“跨页”问题 。

推荐阅读