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

where条件对mysql多列索引的使用

      MySQL手册中看到的,记录下。
      MySQL可以为多个列创建索引。一个索引可以包括15个列。对于某些列类型,可以索引列的前缀(参见7.4.3节,“列索引”)。
多列索引可以视为包含通过连接索引列的值而创建的值的排序的数组。
MySQL按这样的方式使用多列索引:当你在WHERE子句中为索引的第1个列指定已知的数量时,查询很快,即使你没有指定其它列的值。
假定表具有下面的结构:
CREATE TABLE test (
    id INT NOT NULL,
    last_name CHAR(30) NOT NULL,
    first_name CHAR(30) NOT NULL,
    PRIMARY KEY (id),
    INDEX name (last_name,first_name)
);
      name索引是一个对last_name和first_name的索引。索引可以用于为last_name,或者为last_name和first_name在已知范围内指定值的查询。因此,name索引用于下面的查询:
SELECT * from test WHERE last_name='Widenius';
 
SELECT * from test
    WHERE last_name='Widenius' AND first_name='Michael';
 
SELECT * from test
    WHERE last_name='Widenius'
    AND (first_name='Michael' OR first_name='Monty');
 
SELECT * from test
    WHERE last_name='Widenius'
    AND first_name >='M' AND first_name < 'N';
然而,name索引不用于下面的查询:
SELECT * from test WHERE first_name='Michael';
 
SELECT * from test
    WHERE last_name='Widenius' OR first_name='Michael';


相关文档:

mysql 表类型myISAM ,Innodb

就我知道的两个区别:
myISAM  不支持事务
Innodb   支持事务
如果修改myISAM 为Innodb,需要把原来的数据先dump出来,清空表,在重新插入
innodb在/etc/my.cfg的配置为
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_hom ......

mysql使用小记

       最近用mysql写了几个复杂的语句,感觉在关系很复杂的时候先理清关系再选择用的查询方法是很重要的,因为同一个需求可能用不同的方法来查出来,但是复杂度,性能都不一样。
      下面说一下能实现复杂查询的一些一般方法:
一.with语法(首先说明,好像Mysql不支持这个语 ......

MYSQL忘记密码解决方法 黄闽玉

Windows: 
1. 用系统管理员登陆系统。 
2. 停止MySQL的服务。 
3. 进入命令窗口(cmd),然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin 
4. 跳过权限检查启动MySQL, 
c:\mysql\bin>mysqld-nt --skip-grant-tables
5. 重新打开一个cmd窗口,进入c:\mysql\b ......

MySQL和SQL字段截短漏洞

转载自:http://www.neatstudio.com/index-4.shtml
文章来自寂寞hacker,http://hi.baidu.com/isbx/blog/item
/08ef48547ef1ad58574e00bf.html:
当前的Web开发者中肯定有不少人没有注意到作者所提到的这两个问题的。
第一个问题是这样的,MySQL默认有一个配置参数
max_packet_size,这个参数是用于限制MySQL客户端和My ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号