mysql 索引
来源:互联网 发布:淘宝买家4钻很厉害吗 编辑:程序博客网 时间:2024/06/18 15:10
name like “%李” 不能使用索引
name like “李%” 能使用索引
多列索引
必须要使用第一列的时候 才能使用索引 否则失效
or 不能使用索引
A 使用中间表
B 增加冗余字段
插入优化
1、禁用索引,当插入完成之后,在打开索引,。
2、禁用唯一性校验,当插入完成之后,打开这个禁用
3、优化sql语句。使用一个sql语句来 插入全部数据。
分析表
analyze table XXX 分析表
结果:table op msg_type msg_text
检查表
check table 表名1【表名2】 【option】 执行效率
优化表:
optimize talbe 表名1 表名2
优化mysql 服务器
1、硬件
2、服务器参数
一般人难以理解,专业DBA才能理解
my_innodb-heavy-4G.ini作为配置文件。
查看InnoDB 表的查询次数和更新次数
show status lke 'Innodb_rows_read' 能看到这个库的 查询次数
show status like 'Innodb_rows_updated' 能看到这个库的 更新次数
分析score
analyze table score
分析这个表
上机操作
1、查看mysql 服务器的连接数、查询次数和慢查询次数
show status like 'connections'
show status like 'com_select'
show status like 'slow_queries'
2、检查scroe 表
check tables score
3、优化表
optimize table score
1、如何使用查询缓存区?
查询缓存区可以提高查询速度,这种方式只适用于修改操作少且经常执行相同
的查询操作的情况,默认情况下,查询缓存区是禁止的。因为query_cache_size的默认值
是0;query_cache_size可以设置有效的使用空间,query_cache_type可以设置
查询缓冲区的开启状态,其取值为0,1或者2. 在my.conf或者 my.ini中加入 的语句
query_cache_size=20M
query_cache_type=1
query_cache_type 取值为1时,表示开启查询缓冲区,在查询语句中加上
SQL_NO_CACHE关键字,该查询语句将不在使用查询查询缓冲区。
可以使用FLUSH QUERY CACHED语句来清理查询缓存区的 碎片。
为什么查询语句中的索引没有发挥作用
在很多情况下,虽然查询语句中使用了索引,但是索引并没有发挥作用,例如,在where条件的liake
关键字匹配的字符串以%开头,这种情况下 索引不会起作用
where 条件中使用or 关键字来链接多个查询条件。如果有一个条件没有使用索引
那么其他的索引页不会起作用。如果使用多列索引时,多列索引的第一个字段没有使用
索引,那么这个多列索引也不会起作用,根据这些情况,必须对这些
语句进行相应的优化。。。
- MySQL索引 聚集索引
- mysql 索引 & 索引类型
- MySQL索引 聚集索引
- mysql 索引 & 索引类型
- mysql索引
- mysql索引
- mysql 索引
- MySql索引
- Mysql索引
- mysql 索引
- mysql 索引
- MySQL索引
- mysql索引
- mysql 索引
- mysql索引
- mysql 索引
- MySQL索引
- mysql索引
- 关于回调函数的理解,以及观察者模式,代理模式
- 折半查找(二分查找)
- 数组添加删除----unshift,shift,pop,push
- 轻松学习之Linux教程二 一览纵山小:Linux操作系统详解
- app签名打包后点击分享到微信好友圈无反应
- mysql 索引
- 编写PE文件解析器(二)
- 数组分割
- BCB的一些API
- PAT (Basic Level) Practise (中文)1019. 数字黑洞 (20)
- Linux screen 命令操作
- vcs generate coverage report
- springMVC传对象参数
- cygwin 软件安装利器 ---apt-cyg