关于SQL表设计和查询的思考
2017-06-07 10:24
169 查看
1、了解sql设计范式,不要求严格遵守,但胡乱设计也不好
2、在建表之初要考虑后期业务,需要哪些功能,表结构能否实现业务操作及对效率是否有影响
此业务不仅仅本身增删改查,还有涉及关联其他业务
3、在建表之初同时要考虑读和写的操作,读写是否频繁?是否可以把读和写的字段拆成两个表?
4、该添加索引的位置添加索引,索引不宜过多,也不要一个没有。添加索引之后用explain看一下查询计划,是否走
了索引。
5、表数据太多时,需要考虑读写分离,增加缓存,索引或者分库分表以加快查询速度,减少数据库压力
6、是否需要将复杂sql的操作通过java程序转换为2~3个sql操作。有时这样可将随数据不断增长的查询时间不断增长
的sql转换为固定时间的程序执行。这种转换在数据量小的时候没有帮助反而增加了查询时间,但在数据量大的时候效
果可能更好一些。
7、如果前期设计好,但后期依旧出现问题。采取6的方式,或者只能根据业务重构表结构了。
欢迎加入我的qq群:425783133
2、在建表之初要考虑后期业务,需要哪些功能,表结构能否实现业务操作及对效率是否有影响
此业务不仅仅本身增删改查,还有涉及关联其他业务
3、在建表之初同时要考虑读和写的操作,读写是否频繁?是否可以把读和写的字段拆成两个表?
4、该添加索引的位置添加索引,索引不宜过多,也不要一个没有。添加索引之后用explain看一下查询计划,是否走
了索引。
5、表数据太多时,需要考虑读写分离,增加缓存,索引或者分库分表以加快查询速度,减少数据库压力
6、是否需要将复杂sql的操作通过java程序转换为2~3个sql操作。有时这样可将随数据不断增长的查询时间不断增长
的sql转换为固定时间的程序执行。这种转换在数据量小的时候没有帮助反而增加了查询时间,但在数据量大的时候效
果可能更好一些。
7、如果前期设计好,但后期依旧出现问题。采取6的方式,或者只能根据业务重构表结构了。
欢迎加入我的qq群:425783133
相关文章推荐
- Android架构设计---关于View边界划分的思考
- 关于数据库查询业务的几点思考
- 关于推送系统设计的一些总结与思考(二)
- 关于基于DDD+Event Sourcing设计的模型如何处理模型重构的问题的思考
- 关于类的数据成员的访问权限设计的一些思考(转)
- 关于数据库设计的思考(二)
- 前后端交互-一些关于接口设计的思考
- 关于抽象工厂实现数据库查询的设计(JAVA代码实现)
- 关于数据库设计的思考(三)
- 关于设计窗口定时器类的一点思考(2013-03-17)
- 关于测试流程设计与执行的思考.
- 关于良好设计和过度设计的思考
- 关于定时器的设计学习记录(学习他人资料)和思考---定时任务 超时控制 频率限制
- 关于设计的思考-观看ted台北设计师演讲之后的感想
- 关于接口设计的一些思考
- 关于Java设计之初的一些思考
- 关于设计模式的思考
- 关于产品设计的一些思考——小米2自带文件管理
- 关于设计模式的一些看法与思考
- 由一个简单的客户端间TCP/UDP通信程序引发的关于设计模式的思考