数据库建表见解
科学的索引和科学的冗余
科学的索引(Normal对id。Unique,Full Text文本。)就是建索引不要盲目的建索引,因为建索引会产生索引文件建的太多或者不恰当就导致索引文件过大,是数据库操作效率大大降低,比如我在做商城 的时候会建一个订单表,里面会有订单id和订单号,很多时候查询是根据订单号来查询,我就将订单号建成索引,这样查询就方便一些;
科学的冗余,就是可以在很大程度上避免数据库的关联查询,不使用join提升查询速度。我们在项目中,比如:在工作经历表中有一个用户id,同时也把用户名字存进去了,这个用户名字就是科学的冗余;
数据库优化:
1、sql语句中不写聚合函数(计算,截取字符串等)
2、减少应用和数据库的交互次数、同一个sql语句的执行次数
3、数据库实体的碎片的整理(特别是对某些表经常进行insert和delete动作,尤其注意,索引字段为系列字段、自增长字段、时间字段,对于业务比较频繁的系统,最好一个月重建一次)
4、对访问频繁的数据,充分利用数据库cache和应用的缓存(redis)
5、数据量比较大的,在设计过程中,为了减少其他表的关联(3表以下的查询),增加一些冗余字段,提高查询性能。
网友评论