SQL语句的优化

SQL语句的优化:

<一> :尽量使用单表查询,不适用多表查询(子查询)

<二> :使用distinct

<三> :尽量使用较小的列

<四> :频繁使用的字段加索引

<五> :避免使用select* 和 like 查询

<六> :数据量在百万级以上,使用分表查询,时时分割表

<七> :避免在索引列上使用计算,not ,in 等操作

<八> :当只需要一行数据的时候,使用limit

<九> :针对查询较慢的语句,可以使用explain来分析该语句具体的执行情况

字段优化
(一):能用小的,不用大的
(二):能用定长,不用变长

索引优化
(一):表的主键和外键,必须有索引
(二):数据量超过300的表应该有索引
(三):经常与其他表进行连接的字段上应该建立索引
(四):经常出现在Where语句中的字段,特别是大表的字段,建 立索引
(五):索引应建立在选择性能高的字段上
(六):索引应该建立在小字段上,对于大的文本字段甚至超长字段,不要建立索引

表的优化

<一>存储引擎:Myisam, InnoDB
区别:
(1):构成上的区别:
Myisam 在磁盘上存储成三个文件
 .frm文件 存储表定义
 数据文件 扩展名:.MYD
 索引文件 扩展名:.MYI

InnoDB在磁盘上的资源是两个文件
 表空间数据文件
 日志文件
注意:表的大小只受限于操作系统文件的大小,一般为2GB

<二>:对锁的支持
Myisam支持表锁,InnoDB 支持行锁

<三>:事物处理方面
Myisam 类型的表强调的是性能,其执行速度比InnoDB更快,
但是不支持事物和外键
InooDB 提供事物,支持事物,外键等高级的数据库功能

<四>:对增 , 删 , 改 , 查的操作
Myisam :删,查
InnoDB :insert ,update
<五>:对Auto_Increment的操作
Myisam :按照写入顺序
InnoDB :主键自增长

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值