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

mysql索引的一个技巧

针对select * from table where col1 > number order by col2 desc。
其实按照常规的方法可以这样设计:key(col1, col2)
但是这种办法在mysql里不算是理想的,where条件里限定索引前部分是一个范围的情况下后面的order by还是会有filesort。如果where条件里限定索引前部分是一个常量,那么order by就会有效利用索引。例如:select * from table where col1 = number order by col2 desc,explain的结果就不错。
为了让它能够利用上索引并且消除filesort,可以这样设计
索引:key(col2,col1);
select * from table where col2 > min_value and col1 > number order by col2 desc;
这里where条件里同时执行了索引的两个列,并且为了保证逻辑一致,对col2列的限定条件等效于无限定。
这样mysql就能很好的利用索引了。这个技巧在mysql high performance2里也有提过.


相关文档:

mysql的中文乱码问题

 这段时间被这个困扰了很久,通过修改配置文件,终于把这个问题解决了。
自己在网上也找了很多关于解决这个问题的方法,但是都讲的不太清楚,所以今天在这重新说下这个问题。
我的解决方法是通过修改mysql的配置文件my.ini,方法如下:
在my.ini中可以发现有这么一段代码:
[client]
port=3306
[mysql]
default ......

php 通过网页的方式备份和还原mysql数据库

 最近上网找了一些关于备份mysql数据库的方法,主要就是通过网页的方法导出数据库的sql 文件,找到个不错的代码,但发现中文导出会乱码,于是稍微修改了一下,下面是备份的代码
view plaincopy to clipboardprint?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml ......

mysql set names 问题

mysql set names 问题
mysql_query("set names 'utf8'");
一直以来总以为set names 是用来设置msyql 的字符集的,最近作个东西才发现自己认识上的错误,
查一下手册
SET NAMES ‘x‘语句与这三个语句等价:
mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> ......

介绍mysql数据库下show命令的主要用法


  
  本文主要介绍mysql数据库下show命令的主要用法:
  a. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称。
  b. show databases; -- 显示mysql中所有数据库的名称。
  c. show columns from table_name from database_name; 或show columns from database_name.table_n ......

mysql 查看索引使用情况

 这是以读为主的线上库
root@read 02:28:07>show status like ‘Handler_read%’; 
+———————–+——-+ 
| Variable_name         | Value | 
+————&m ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号