关注
chatgpt对每个方面的补充和说明:
1. SQL层面:
加索引可以提高查询效率,但需要注意的是,索引不是万能的,不适当的索引会带来额外的性能开销和存储空间占用。在选择索引时需要考虑查询条件的选择性和频率、表的大小、数据的变化等因素,并进行测试和优化。
索引失效的场景有很多,比如使用函数、类型不匹配、数据类型转换等,需要了解各种场景并避免使用或优化查询语句。
索引覆盖可以减少一次回表,即通过覆盖索引就能够得到需要的结果,而无需再访问数据行。这可以通过选择合适的索引、使用SELECT子句限制查询字段等方式来实现。
2. 表层面:
遵守三大范式可以确保数据的完整性和一致性,减少数据冗余和错误,提高数据质量。不过在实际应用中,也需要根据业务需求和数据特点进行权衡和优化。
尽量不用外键可以提高插入和更新的效率,但也可能影响查询的效率和数据完整性。使用中间表可以减少冗余和复杂性,但也可能增加查询和维护的难度和开销。
3. 数据库层面:
将RR隔离级别换为RC隔离级别可以提高并发性能,因为RC隔离级别比RR隔离级别更容易产生幻读和不可重复读,但也需要注意控制事务的粒度和时效性,避免脏读和数据错误。
4. 业务层面:
Redis缓存可以提高读取速度和减轻数据库的负载,但也需要考虑缓存的一致性和更新策略。使用业务解决并发问题可以避免锁和等待的开销和影响,但也需要考虑业务的复杂性和可维护性。在面对具体业务场景时,需要进行具体分析和优化。
查看原帖
点赞 评论
相关推荐
昨天 18:03
南京林业大学 golang 点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-21 00:34
华中科技大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
20735次浏览 376人参与
# 在国企工作的人,躺平了吗? #
332786次浏览 3859人参与
# 实习吐槽大会 #
23122次浏览 107人参与
# 商战,最累的是我们 #
12500次浏览 48人参与
# 晒一晒你的工位 #
83015次浏览 295人参与
# 我的租房踩坑经历 #
15410次浏览 200人参与
# 小厂实习有必要去吗 #
46219次浏览 267人参与
# 夸夸我的求职搭子 #
190660次浏览 1890人参与
# 穿越回高考你还会选现在的专业吗 #
15502次浏览 209人参与
# 毕业旅行去哪玩儿 #
863次浏览 25人参与
# 你小时候最想从事什么职业 #
95394次浏览 1719人参与
# 携程求职进展汇总 #
528254次浏览 3929人参与
# 高学历就一定能找到好工作吗? #
47489次浏览 588人参与
# 读研or工作,哪个性价比更高? #
61379次浏览 717人参与
# 打工人锐评公司红黑榜 #
145034次浏览 903人参与
# 牛友打假中心 #
89542次浏览 2649人参与
# 一觉醒来,我成论文导师了… #
19118次浏览 305人参与
# 今年形式下双非本找得到工作吗 #
140628次浏览 1067人参与
# 实习中的菜狗时刻 #
366238次浏览 3296人参与
# 工作压力大怎么缓解 #
79131次浏览 934人参与