大数据量的系统的数据库结构如何设计:
1、把你表中经常查询的和不常用的分开几个表,也就是横向切分
2、把不同类型的分成几个表,纵向切分
3、常用联接的建索引
4、服务器放几个硬盘,把数据、日志、索引分盘存放,这样可以提高IO吞吐率
5、用优化器,优化你的查询
6、考虑冗余,这样可以减少连接
7、可以考虑建立统计表,就是实时生成总计表,这样可以避免每次查询都统计一次
8、用极量数据测试一下
MySql 优化:
对 mysql 优化是一个综合性的技术,主要包括:
1、表的设计合理性(符合 3NF)
2、添加适当索引(index)【四种:普通索引、主键索引、唯一索引 unique、全文索引】
3、分表技术(水平分割、垂直分割)
4、读写【update、delete、add】分离
5、储存过程【模块化编程,可以提高速度】
6、对 mysql 配置优化【配置最大并发数 my.ini,调整缓存大小】
7、mysql 服务器硬件升级
8、定期的去清除不需要的数据,定时进行碎片整理(MyISAM)
为什么字段尽可能用NOT NULL,而不是NULL?
在MySQL中,含有空值的列很难进行查询优化,因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用0、一个特殊的值或者一个空串代替空值
字段尽可能用NOT NULL,而不是NULL,除非特殊情况。NULL为什么经常被误用?
1、NULL是创建数据表时默认的,初级或不知情的或怕麻烦的程序员不会注意这点。
2、很多人员都以为not null 需要更多空间,其实这不是重点。
3、重点是很多程序员觉得NULL在开发不用去判断插入数据,写sql语句的时候更方便快捷。
时间: 2024-11-09 02:37:53