随笔分类 -  数据库

《数据库技术内幕》
摘要:处理百万级以上的数据提高查询速度的方法:1.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=04.应尽量避免在 where 子句中使用 or 来 阅读全文
posted @ 2014-01-02 13:50 梦之秋泪 阅读(623) 评论(0) 推荐(1)
数据库设计调优(二)
摘要:五 分表技术 分表技术有水平分割和垂直分割水平分割:当一张越来越大时候,即使添加索引还慢的话,我们可以使用水平分表,以qq用户表简单举例来具体的说明一下水平分表的操作思路.如我们在一个互联网上注册一个帐号,帐号很多,可能帐号表不止一个(如table1,table2,table3)。可以在我们进行注册的时候生成一个标识,然后对这个标识通过程序逻辑进行处理(如生成的是一个随机整数,对该整数进行除3求余的方式,如余1放到table1,余2放到table2,余0放到table3),放到相应的表中。访问该信息的时候,也通过注册的随机标识处理知道在哪个表,在相应的表中进行检索即可。如下一个php代码:首先 阅读全文
posted @ 2013-11-17 19:00 梦之秋泪 阅读(392) 评论(0) 推荐(0)
数据库设计调优(一)
摘要:年初,便制定计划,今年主要学习数据库的相关优化,过程中既有sybase数据库,也有mysql,oracle的学习。以下除特殊说明外,其他涉及优化不针对某一具体数据库,现总结相关的设计调优如下,总体我分以下几个方面介绍我理解的数据库设计:1.数据库(表,字段)设计2.反规范3.数据库设备使用4.索引使用优化5.分表技术6.读写分离7.存储过程一 数据库(表,字段)设计 这个主要是一个整体的设计,如我们公司的XX数据库,采用在审和审结库分离,每类案件类型拥有自己独立的数据库作为在审库,所有审结案件放到一个数据库中作为审结库。而在XX数据库中,则采用一个业务库包含所有案件类型的在审和审结记录。当然这 阅读全文
posted @ 2013-11-17 18:43 梦之秋泪 阅读(326) 评论(0) 推荐(0)