26、锁的优化策略
1、读写分离
2、分段加锁
3、减少锁持有的时间
4、多个线程尽量以相同的顺序去获取资源 不能将锁的粒度过于细化,不然可能会出现线程的加锁和释放次数过多,反而效 率不如一次加一把大锁。
27、索引的底层实现原理和优化
B+树,经过优化的 B+树 主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此 InnoDB 建 议为大部分表使用默认自增的主键作为主索引。
28、什么情况下设置了索引但无法使用?
1、以“%”开头的 LIKE 语句,模糊匹配
2、OR 语句前后没有同时使用索引
3、数据类型出现隐式转化(如 varchar 不加单引号的话可能会自动转换为 int 型)
29、实践中如何优化 MySQL?
最好是按照以下顺序优化: 1、SQL 语句及索引的优化 2、数据库表结构的优化 3、系统配置的优化 4、硬件的优化
30、优化数据库的方法
1、选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置 NOTNULL, 例如’省份’、’性别’最好适用 ENUM
2、使用连接(JOIN)来代替子查询
3、适用联合(UNION)来代替手动创建的临时表
4、事务处理
5、锁定表、优化事务处理
6、适用外键,优化锁定表
7、建立索引
8、优化查询语句