易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql sql 百万级数据库优化方案

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎
放弃使用索引而进行全表扫描,如:
select id from t where num is null
可以在num上设置
默认值0,确保表中num列没有null值,然后这
样查询:
select id from t where num=0
3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
4.应尽量避免在 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
5.in 和 not in 也要慎用,否则会导致全表扫描,如:
select id from t where num in(1,2,3)
对于连续的数值,能用 between 就不要用 in 了:
select id from t where num between 1 and 3
6.下面的查询也将导致全表扫描:
select id from t where name like ‘%abc%’
若要提高效率,可以考虑全文检索。
7.如果在 where 子句中使用参数,也会导致全表扫描。因为SQL
只有在运行时才会解析
局部变量,但优化程序
不能将访问
计划的选择推迟到运行时;它必须在编译
时进行选择。然
而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。如下面语句将进行全表扫描:
select id from t where [email=num=@num]num=@num[/email]
<[email=num=@num]mailto:num=@num[/email]>
可以改为强制查询使用索引:
select id from t with(index(索引名)) where [email=num=@num]num=@num[/email]
<[email=num=@num]mailto:num=@num[/email]>
8.应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描。如:
select id from t where num/2=100
应改为:
select id from t where num=100*2
9.应尽量避免在where子句中对字段进行函数
操作,这将导致引擎放弃使用索引而进行全表扫描。
如:
select id from t where substring(name,1,3)=’abc’–name以abc开头的id
select id from t where
datediff(day,createdate,’2005-11-30′)=0–‘2005-11-30’生成的id
应改为:
select id from t where name like &lsquo


相关文档:

mysql调用后

用mysql_query,mysql_fetch_array()后应该要
free_result().function count_admin($where = '')
{
if($where) $where = " WHERE $where";
$result = $this->db->get_one("SELECT count(*) as num from $this->table_admin_role $where");
return $result['num'];
} ......

[转载]MYSQL常见出错代码解析

 1005:MYSQL创建表失败
  
  1006:MYSQL创建数据库失败
  
  1007:MYSQL数据库已存在,创建数据库失败
  
  1008:MYSQL数据库不存在,删除数据库失败
  
  1009:MYSQL不能删除数据库文件导致删除数据库失败
  
  1010:MYSQL不能删除数据目录导致删除数据库失败
  
 &nbs ......

Fedora下Mysql的简单使用

转到附录1(mysql 命令大全 - 命令详解

转到附录2(mysql乱码问题解决方法

在我的Fedora中,在系统安装时我就选择安装了Mysql了,所以就不用再去下载源代码,然后去慢慢编译。哈哈,偷了一个懒。
系统安装好了,Mysql时必不可少的,所以一定要检验一下Mysql可以用不。
首先切换到root账户,然后输入命令:s ......

SQL按日期条件删除数据


delete from
uservalid
where(lastlogin<'2007-1-1  
0:0:00')
清除在uservalid表中最后登陆时间在2007年1月1日零时零分之前的数据
查询某一范围内的数据则selete * from uservalid
where(wealth in(500,1000))
在查询分析器里面selete from where
in这些关键字都自动大写了
......

配置SQL Server2005 express与jdbc连接

上微软网站下载sqlserver2005 jdbc driver 包
  
  1、将microsoft sql server 2005 jdbc driver\sqljdbc_1.2\chs\sqljdbc.jar包 copy到发布系统 的 web-inf\lib目录中
  2、将microsoft sql server 2005 jdbc driver\sqljdbc_1.2\chs\auth\x86\sqljdbc_auth.dll 文件copy到 windows ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号