mysql优化
a .表的设计要符合三范式
b .添加适当的索引 index 普通索引 主键索引 唯一索引unique 全文索引(在文本添加) 空间索引 符合索引
c . 分表技术(水平分割,垂直分割)
d. 读写(update /delete/add)分离
e .存储过程(模块化,提高速度)
f. 对mysql配置优化【配置最大并发数my.ini max_connections 最大连接数一般网站调整到1000 再大内存不够用了 每个链接都是一个进程占用内存, 调整缓存大小】
g. MySQL 服务器硬件升级
h. 定时清楚不需要的数据,定时进行碎片整理
三范式:
首先满足一范式,才能满足二范式,进而满足三范式
一范式:列满足原子性不能在分解(信息本身明确只要是关系行数据库都满足一范式‘)
二范式:表的记录是唯一的通常设置主见
三范式:表中不要有冗余数据
反三范式有时候也是合理的 例如

在表一对N的情况下为了提高效率可以在1的一方设计冗余字段
show status 运用,定位慢查询


使用索引
索引可以让sql查询语句拥有更快的查询速度,但是使用索引也是有代价的,索引文件占用磁盘,使增加,修改,删除因为这些操作要维护索引所以让他们都会变慢
哪些列可以使用索引
较为频繁的查询条件字段建立索引
唯一性太差的不适合作为索引
更新频繁的不能建立索引
满足以下条件才能建立索引
肯定在where条件经常使用
该字段的内容不是唯一的几个值
字段内容不是频繁变化

explain:


浙公网安备 33010602011771号