在一个项目实施初始,数据库的设计非常重要,很多时候,我们只关心和考虑到眼前的功能,而忽略了后续的可维护性和可拓展性,以及还有一个在大数据时代会遇到的高并发问题。
在设计表结构时要注意以下几个要点:
1.数据行的长度不要超过8020字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成存储碎片,降低查询效率。
2.能够用数字类型的字段尽量选择数字类型而不用字符串类型的(电话号码),这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接回逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。
3.对于不可变字符类型char和可变字符类型varchar 都是8000字节,char查询快,但是耗存储空间,varchar查询相对慢一些但是节省存储空间。在设计字段的时候可以灵活选择,例如用户名、密码等长度变化不大的字段可以选择CHAR,对于评论等长度变化大的字段可以选择VARCHAR。
4.字段的长度在最大限度的满足可能的需要的前提下,应该尽可能的设得短一些,这样可以提高查询的效率,而且在建立索引的时候也可以减少资源的消耗。
查询语句优化要点:
1.尽可能使用索引
2.查询有先后顺序,注意把快速条件或者索引查询放在前面
3.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num=10 or num=20
可以这样查询:
select id from t where num=10
union all
select id from t where num=20
|
4.要避免在where中使用表达式,这样将放弃索引,进行全表查询
相关推荐
一套开源的服务器集群分布式大数据高并发的快速开发框架,使用mongodb内存数据库,二级缓存技术。 java 版下载 https://git.oschina.net/bigcore/bigcore
第一讲大数据高并发架构实战案例分享-概述第一讲大数据高并发架构实战案例分享-概述第一讲大数据高并发架构实战案例分享-概述
大数据时代的数据库.pptx
闲暇时间写的,详细介绍了网站大数据和高并发解决方案,一部分是个人经验也做了实践,一部分是参考一些资料整理的,总结也是提高自己的一种方式,可以让自己的理解更清晰。
大数据视域下数据库技术的应用.pdf
一套开源的服务器集群分布式大数据高并发的快速开发框架,使用mongodb内存数据库,二级缓存技术。
大数据时代关系数据库MySQL的创新与发展.docx
1.大数据高并发架构实战案例分享-概述 2.Piranha安装快速搭建LVS负载均衡集群 3.LVS负载均衡DR模式安装调试介绍 4.LVS负载均衡深入进阶实战 5.LVS调度策略及负载均衡原理深入 6.LVS深入及NAT集群调试 7.Nginx反向...
预警系统分为人员卡口和车辆卡口,实现对人员和车辆的管控; 在试点区域设置9处高塔热成像火点检测报警系统; 铁搭上安装防盗摄像机、感应探测器,有人靠近时及时报警通知监控中心; 安装高音喇叭等设备,引导、疏散...
智慧林业大数据与核心数据库项目建设实施方案 方案文档写得很完整、很详细,共276页
一套开源的服务器集群分布式大数据高并发的快速开发框架,使用mongodb内存数据库,二级缓存技术。
13-2大数据时代的数据库75.pptx13-2大数据时代的数据库75.pptx13-2大数据时代的数据库75.pptx13-2大数据时代的数据库75.pptx13-2大数据时代的数据库75.pptx13-2大数据时代的数据库75.pptx
大数据高并发架构实战案例分享-ppt资源
分布式大数据高并发的web开发框架.pdf
大数据背景下数据库网络安全的防范方法.pdf
大数据高并发实战架构(Mongodb实现)、网站大访问量、mysql索引优化、反向代理
5.3大数据高并发-分布式队列1
大数据应用案例大数据培训视频教程大数据高并发架构实战案例.docx
5.4大数据高并发-分布式&微服务1