首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请教如下SQL语句如何优化比较好

2014-01-25 
请问如下SQL语句怎么优化比较好?假设有个表如下,都没做索引.字段名 类型 长度姓名 CHAR 50性别 CHAR 2出生

请问如下SQL语句怎么优化比较好?
假设有个表如下,都没做索引.
字段名 类型 长度
姓名 CHAR 50
性别 CHAR 2
出生日期 datetime 8
地址 CHAR 200

问题1. 应该全部字段 都做索引吗? 性别也要做索引吗? 因为正常情况下,不是男就是女了.

假设这个表 的数据非常多,有10W条记录以上
如这个表经常 要查询
名字里有"华" 字, 地址在北京的.
那么就要 
select * from 数据库 where 姓名 like '%华%' and 地址 like '%北京%' 
这样应该是非常慢的.
问题2. 这种情况下有优化方法吗?

问题3.假如 要找 名叫 "张三" ,性别是 "男", 2000年出生的记录的话
应该是
select * form 数据库 where 姓名='张三' and 性别='男' and 出生日期 between '2000-1-1' and '2001-1-1' 
还是
 select * form 数据库 where 出生日期 between '2000-1-1' and '2001-1-1' 
and 姓名='张三' and 性别='男' 
好一点?为什么? 


 因为这个都是半懂不懂的,希望可以学习一下,谢谢.
[解决办法]
select * form 数据库 where 姓名='张三' and 性别='男' and 出生日期 between '2000-1-1' and '2001-1-1' 

应该在姓名,性别,出生日期设置索引,这样才能让数据库驱动程序快速定位数据

热点排行