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

mysql索引的使用及语句优化

一:mysql里目前只支持4种索引分别是:b-tree,full-text,hash以及r-tree索引 b-tree索引应该是mysql里最广泛的索引的了,除了archive,基本所有的存储引擎都支持它. 1.b-tree在myisam里的形式和innodb稍有不同 在innodb里面有两种形态:其一是primary key形态其leaf node里存放的是数据.而且不仅存放了索引键的数据,还存放了其他字段的数据.其二是secondary index,其leaf node和普通的b-tree差不多,只是还存放了指向主键的信息. 而在myisam里,主键和其他的并没有太大区别.不过和innodb不太一样的地方是,在myisam里,leaf node里存放的不是主键的信息,存的是指向数据文件里的对应数据行的信息. 2.hash索引,目前我所知道的就只有memory和ndb cluster支持这种索引. hash索引由于其结构,所以在每次查询的时候直接一次到位不行b-tree那样,一点点的前进,所以hash索引的效率高于b-tree.但hash也有缺点,主要如下: (1)由于存放的是hash值,所以仅支持<=>以及in操作. (2)hash索引无法通过操作索引来排序,这是因为存放的时候经过hash计算,但是计算的hash值和存放的不一定相等,所以无法排序. (3)在组合所以里,无法对部分使用索引. (4)不能避免全表扫描,只是由于在memory表里支持非唯一值hash索引,就是不同的索引键,可能存在相同的hash值. (5)当存在大量相同hash值得时候,hash索引的效率会变低. 3.full-text索引 full-text在mysql里仅有myisam支持它,而且支持full-text的字段只有char,varchar,以及text数据类型,full-text主要是用来代替like "%***%"效率低下的问题的. 4.r-tree索引 r-tree在mysql很少使用,仅支持geometry数据类型,支持该类型的存储引擎只有myisam,bdb,innodb,ndb,archive几种.相对于b-tree,r-tree的优势在于范围查找. 二:mysql里sql语句值得注意的地方 1.myisam里所以键的长度仅支持1000字节,innodb是767. 2.blob和text字段仅支持前缀索引. 3.使用!=以及<>不等于的时候mysql不使用索引. 4.当在字段时候函数的时候,mysql无法使用索引,在join的时候条件字段类型不一致的时候,mysql无法使用索引,在组合索引里使用非第一个索引时也不使用索引. 5.在使用like的时候,以%开头,即"%***"的时候无法使用索引,在使用or的时候,要求or前后字段都有索引. 有时候mysql query optimizer会认为使用索引并不是最优计划,所以不使用索引,可以在sql语句里可以用use,force index,当然有时候使用也不会比不用快,所以需要忽


相关文档:

忘记了MySQL的root密码应当如何取回

问:如果忘记了MySQL的root密码应当如何取回?
答:解决方法如下:
法1:在my.cnf的[mysqld]字段加入:
skip-grant-tables
然后重启你的mysqld,这样久没有密码了.
然后进入mysql。
UPDATE mysql.user SET Password=PASSWORD
('password') WHERE User='root';
成功后
FLUSH PRIVILEGES;
最后去掉my.cnf中的s ......

如何修改mysql数据库的连接数

新安装后的mysql数据库,其默认的最大连接数为100。
方法一:
在mysql安装路径下,找到my.ini或者my.cnf文件,打开它找到max_connections,设置成1000; 然后重启mysql服务。
方法二:
在mysql运行环境下,进入mysql命令下:
mysql> set global max_connections=1000;
然后关闭mysql重启它;
在./bin路径下,使用 # ......

MySQL导出导入命令的用例

1.导出整个数据库
  mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.导出一个数据库结构
  mysql ......

如何修改MYSQL数据库里的用户名密码

windows2003----开始----运行---mysql -uroot -p,进入MYSQL数据库,输入密码,登陆。
show databases;看看有哪些数据库
use xxxxxx;(xxxxxx为数据库名,进入数据库)
update user set passwd=MD5('111111*') where user_name = 'admin';(111111为要修改的密码) ......

安装、设置与启动MySql绿色版的方法

1、解压 mysql-noinstall-5.1.30-win32.zip
2、在 F 盘建立目录 MySql\MySqlServer5.1\
3、把解压的内容复制到  F:\MySql\MySqlServer5.1\
4、在 F:\MySql\MySqlServer5.1\ 中找 my-large.ini 把它复制成 my.ini
5、在 my.ini 中找 [mysqld] ,添加以下语句;
basedir="F:/MySql/MySqlServer5.1/"
datadir="F:/My ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号