设为首页 加入收藏

TOP

mysql基础操作、sql技巧和sql的常见优化(二)
2015-07-24 11:18:19 来源: 作者: 【 】 浏览:4
Tags:mysql 基础 操作 sql 技巧 常见 优化
的次数
innodb_rows_updated\inserted\deleted
show variables like 'slow%'
show variables like 'long%'
show status like connections链接mysql的数量
show status like uptime 服务器已经工作的秒数
show status like slow_queries慢查询的次数

定位执行效率低的sql语句
explain/desc select * from table where id>10
desc select * from table where id>10\G
2、索引问题
常见优化手段之一
myisam存储引擎的数据和索引时自动分开存储的。各自是独一的一个文件
innodb存储引擎的表的数据和索引是存储在同一个表空间里面,但可以有多个文件组成
mysql不支持函数索引,但是能对列的前面某一部分进行索引,例如name字段,可以对name的
前4个字符进行索引,这个特性可以大大缩小索引文件的大小
create index index_name on t (name(4))
mysql索引用于快速查找出某一个列中有定特定值的行,对相关列使用索引时是提高select操作性能的最佳途径
1、使用索引
对于创建多列索引,只要查询的条件中用到最左边的列,索引一般会被使用
create index iname on t (name,age)//符合索引
2、存在索引但是不使用索
如果mysql估计使用索引比全表扫描慢,则不使用索引,例如keypart均匀分布在1-100之间,查询时使用索引就不是很好
eg:select * from t where keypart>1 and keypart<99
如果使用t表并且where条件中不使用=进行索引列,则不使用到索引。
用or分隔开的条件如果or前的条件中的列有索引,后面的列中没有索引,
则涉及到的索引都不会用到,索引都需要用索引
如果列类型是字符串,但是在查询的时候把一个整数型常量付给了字符型的列name,那么在name列上有索引也不会用到

3、常用sql的优化
大批量插入数据:infile outfile
当用load命令导入数据的时候,适当设置可以提高导入的速度,


4、常用的sql优化
insert语句,尽量使用多个值表的insert语句,这样可以大大缩短客户与 数据库连接关闭的消耗
可以使用insert delayed语句得到更高的效率

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysql数据类型和用法 下一篇SQL表函数的BUG

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 安装及连接-腾 (2025-12-25 06:20:28)
·MySQL的下载、安装、 (2025-12-25 06:20:26)
·MySQL 中文网:探索 (2025-12-25 06:20:23)
·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)