- 维护数据字典
- 维护索引
- 维护表结构
- 在适当的时候对表进行水平拆分或垂直拆分
维护数据字典
- 使用第三方工具维护数据字典
- 利用数据库本身字段和表的备注,导出字典(首先确保已经添加了备注)
mysql> SELECT a.TABLE_NAME,b.TABLE_COMMENT, a.COLUMN_NAME, a.COLUMN_TYPE, a.COLUMN_COMMENT-> FROM information_schema.COLUMNS a JOIN information_schema.TABLES b-> ON a.TABLE_SCHEMA = b.TABLE_SCHEMA AND a.TABLE_NAME = b.TABLE_NAME-> WHERE a.TABLE_NAME = 'tbdevice';

维护索引
如何选择合适的列建立索引?
- 出现在WHERE从句,GROUP BY从句,ORDER BY 从句中的列
- 可选择性高的列要放到索引的前面
- 索引中不要包括太长的数据类型
注意事项
索引并不是越多越好,过多的索引不但会降低写效率而且会降低读的效率
索引过多,SQL优化器就会进行判断选择索引,从而降低效率
定期维护索引碎片
- 在SQL语句中不要使用强制索引关键字
由于数据量的变化,索引会不适用;索引删除后,SQL语句会出错
维护表结构
变更表结构
- mysql5.6之前,会全局锁可以使用
pt-online-schema-change,原理是建立一个临时表,并建立触发器,所以注意原触发器会冲突。 - 同时对数据字典进行维护
- 注意表的宽度和大小,是否拆分。
数据适合的操作
- 批量操作优先于逐条操作
- 禁止使用Select * 查询
- 控制使用用户自定义函数
- 不要使用数据库中的全文索引——另外建立索引文件,对中文支持相对较差;使用搜索引擎代替全文索引
