发表于: 2017-10-19 22:55:33

1 649


今天完成的事情:

学习mysql的优化:

一、数据库优化

1.适当建立索引
     一般遵守的规则:
    索引的字段必须是经常作为和查询条件的字段
    如果索引多个字段。第一个字段要是经常作为查询条件的。如果第二个字段作为查询条件,这个索引不会起到作用。
    索引的字段必须有足够的区分度
    mysql对于字段支持前缀索引
    2.对表进行水平划分
    如果一个表的记录数太多,上千万条,需要经常检索,那我们有必要化整为零。拆成100个表,那个每个表就有10万条。当然这需要数据在逻辑上可以划分。一个好的划分依据,有利于程序的简单实现。也可以充分利用水平分表的优势。(月份、地域。。。)
    3.对表进行垂直拆分
    有些表记录数并不多,可能也就2、3万条,但是字段却很长,表占用空间很大,检索表时需要执行大量I/O,严重降低了性能。这个时候需要把大的字段拆分到另一个表,并且该表与原表是一对一的关系。      
    4.选择适当的字段类型,特别是主键
    5文件、图片等大文件用文件系统存储,不用数据库
    数据库只存储路径
    6.宁可集中批量操作,避免频繁读写
    7.选择合适的引擎
    Mysql提供了很多种引擎,我们用的最多的是myisam,innodb,memory这三类,一般选用innodb。

二、sql语句的优化

暂时还在学习中。


明天计划的事情:

sql的group by的使用,以及内连接,外连接,以及sql语句的优化。

投简历,刷面试题


遇到的问题:

暂无


总结:

学习了数据的优化相关问题,分表的水平划分和垂直化分的划分规则。



返回列表 返回列表
评论

    分享到