学自慕课网:数据库设计(五)

维护优化

1.   维护和优化要做什么?

Ø        维护数据字典

Ø        维护索引

Ø        维护表结构

Ø        在适当的时候对表进行水平拆分或垂直拆分

2.   如何维护数据字典

Ø        使用第三方工具对数据字典进行维护

Ø        利用数据库本身的备注字段来维护数据字典。以MySQL为例:

CREATETABLE customer (

    cust_id INT AUTO_INCREMENT NOT NULL COMMENT’自增ID’,

    cust_name VARCHAR(10) NOT NULL COMMENT’客户姓名’,

    PRIMARY KEY(cust_id)

)COMMENT’客户表’

Ø        导出数据字典

SELECTa.table_name,b.TABLE_COMMENT,a.COLUMN_NAME,a.COLUMN_TYPE,a.COLUMN_COMMENTFROMinformation_schema.COLUMNS a JOIN information_schema.TABLES b ONa.table_schema=b.table_schema AND a.table_name=b.table_name WHERE a.table_name=’customer’

3.   如何选择合适的列建立索引?

Ø        出现在WHERE从句,GROUP BY从句,ORDER BY从句中的列

Ø        可选择性高的列要放到索引的前面

Ø        索引中不要包括太长的数据类型

4.   维护索引的注意事项

Ø        过多索引,会降低读写效率

Ø        定期维护索引碎片

Ø        在SQL语句中不要使用强制索引关键字

5.   如何维护表结构

Ø        使用在线变更表结构的工具

n        MySQL5.5之前可以使用pt-online-schema-change

n        MySQL5.6之后本身支持在线表结构的变更

Ø        同时对数据字典进行维护

Ø        控制表的宽度和大小

6.   数据库中适合的操作

Ø        批量操作VS逐条操作

Ø        禁止使用Select * 这样的查询

Ø        控制使用用户自定义函数

Ø        不要使用数据库中的全文索引

7.   表的垂直拆分

Ø        经常一起查询的列放到一起

Ø        Text,blob等大字段拆分出到附加表中

8.   表的水平拆分(Hash key)


你可能感兴趣的:(学自慕课网:数据库设计(五))