数据库之常见SQL问题和基本规则

来源:互联网 发布:软件开发控制流程图 编辑:程序博客网 时间:2024/06/16 00:55

常见SQL问题:

1、PI(Primary Index)设置不正确:PI主要负责多AMP数据均匀分布

2、Set表:SetTable要做重复记录检查(当大量出现Hash冲突时,重复记录检查消耗系统代价高),MultiSet Table不做重复记录检查

3、多大表直接关联:直接将多个表进行关联未使用临时表,语句运行时间长

4、索引不正确:在重复率较高的字段上建立SI(Secongary Index)未能起到索引的作用。导致数据插入变慢更耗费资源

5、字段类型选择不正确:将简化工作把所有字段都设置为varchar,占用空间大,运算效率低

6、select *:*会使表中所字段读入spool空间,消耗过量不必要I/O资源的同时降低效率和可读性

7、未使用正确的锁:直接使用库表未加脏读锁(lock table for access),影响正常生产的鞋操作,造成锁表

8、滥用Trim:trim包含计算量,大量使用造成CPU高消耗

9、批量提交:占用大量spool,CPU


SQL优化基本规则:

1、选择正确PI:保证数据不倾斜         问题:什么叫不倾斜

2、建表用MultiSet:减小不必要计算        问题:那SetTable主要应用

3、多个大表关联使用临时表:高效,减少资源消耗

4、子查询明确指定字段,禁止使用select*:减少IO,spool空间消耗

5、使用临时表前收集统计信息:

6、日常临时跑数使用脏读即可:临时跑数、查数不应该影响正常生产的写操作,造成锁表

0 0
原创粉丝点击