千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 如何对数据库进行优化?

如何对数据库进行优化?

来源:千锋教育
发布人:qyf
时间: 2022-09-21 15:59:51 1663747191

如何对数据库进行优化

  1. 选取适合的字段属性

  为了获取更好的性能,可以将表中的字段宽度设得尽可能小。

  尽量把字段设置成not null

  执行查询的时候,数据库不用去比较null值。

  对某些省份或者性别字段,将他们定义为enum类型,enum类型被当做数值型数据来处理,而数值型数据被处理起来的速度要比文本类型块很多。

  2. 使用join连接代替子查询

  3. 使用联合union来代替手动创建的临时表

  union用法中,两个select语句的字段类型要匹配,而且字段个数要相同。

  4. 事务

  要么都成功,要么都失败。

  可以保证数据库中数据的一致性和完整性。事务以begin开始,commit关键字结束。

  如果出错,rollback命令可以将数据库恢复到begin开始之前的状态。

  事务的另一个重要作用是当多个用户同时使用相同的数据源时,它可以利用锁定数据库的方式为用户提供一种安全的访问方式,这样就可以保证用户的操作不被其他的用户干扰。

  5. 锁定表

  尽管事务是维护数据库完整性的一个非常好的方法,但却因为它的独占性,有时会影响数据库的性能,尤其是在大应用中。

  由于在事务执行的过程中,数据库会被锁定,因此其它用户只能暂时等待直到事务结束。

  有的时候可以用锁定表的方法来获得更好的性能。

  共享锁:其它用户只能看,不能修改

  lock table person in share mode;

  对于通过lock table 命令主动添加的锁来说,如果要释放它们,只需发出rollback命令即可。

  6. 使用外键

  锁定表的方法可以维护数据的完整性,但是它却不能保证数据的关联性,这个时候可以使用外键。

  7. 使用索引

  索引是提高数据库查询速度的常用方法,尤其是查询语句中包含max()、min()、order by这些命令的时候,性能提高更为显著。

  一般来说索引应该建在常用于join、where、order by的字段上。尽量不要对数据库中含有大量重复的值得字段建立索引。

  8. 优化的查询语句

  在索引的字段上尽量不要使用函数进行操作。

  尽量不要使用like关键字和通配符,这样做法很简单,但却是以牺牲性能为代价的。

  避免在查询中进行自动类型转换,因为类型转换也会使索引失效。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT