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

mysql索引详解,摘自《MySQL 5权威指南》

mysql索引详解,摘自《MySQL 5权威指南》
        本文介绍了数据库索引,及其优、缺点。针对MySQL索引的特点、应用进行了详细的描述。分析了如何避免MySQL无法使用,如何使用EXPLAIN分析查询语句,如何优化MySQL索引的应用。本文摘自《MySQL 5权威指南》(3rd)的8.9节。(2007.07.05最后更新)
        索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
注:[1]索引不是万能的!索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE选项的作用将非常明显。[2]另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。
从理论上讲,完全可以为数据表里的每个字段分别建一个索引,但MySQL把同一个数据表里的索引总数限制为16个。
1. InnoDB数据表的索引
    与MyISAM数据表相比,索引对InnoDB数据的重要性要大得多。在InnoDB数据表上,索引对InnoDB数据表的重要性要在得多。在 InnoDB数据表上,索引不仅会在搜索数据记录时发挥作用,还是数据行级锁定机制的苊、基础。”数据行级锁定”的意思是指在事务操作的执行过程中锁定正在被处理的个别记录,不让其他用户进行访问。这种锁定将影响到(但不限于)SELECT…LOCK IN SHARE MODE、SELECT…FOR UPDATE命令以及
INSERT、UPDATE和DELETE命令。
    出于效率方面的考虑,InnoDB数据表的数据行级锁定实际发生在它们的索引上,而不是数据表自身上。显然,数据行级锁定机制只有在有关的数据表有一个合适的索引可供锁定的时候才能发挥效力。
2. 限制
    如果WEHERE子句的查询条件里有不等号(WHERE coloum != …),MySQL将无法使用索引。
    类似地,如果WHERE子句的查询条件里使用了函数(WH


相关文档:

MySQL 数据库常用命令


1、MySQL常用命令
create database name; 创建数据库
use databasename; 选择数据库
drop database name 直接删除数据库,不提醒
show tables; 显示表
describe tablename; 表的详细描述
select 中加上distinct去除重复字段
mysqladmin drop databasename 删除数据库前,有提示。
显示当前mysql版本和当前日期
s ......

MySql中的模糊查询

在MySql中的模糊查询和在MSSQL中的差不多,本记录主要是说在JDBC中使用PreparedStatement来构造一个模糊查询的语句。
模糊查询SQL语句:SELECT * from tableA WHERE colA LIKE '%要匹配的内容%'
构造PreparedStatement:
String sql = "SELECT * from tableA WHERE colA LIKE [-这里填什么呢?-]";
PreparedS ......

更多MySQL命令备忘

一 . 安装与配置MYSQL 
  二 . 常用mysql命令行命令 
  1 .mysql的启动与停止 
  启动MYSQL服务 net start mysql 
  停止MYSQL服务 net stop mysql 
  2 . netstat –na | findstr 3306 查看被监听的端口 , findstr用于查找后面的端口是否存在 
  3 . 在命令行中登陆 ......

再次遭遇linux下mySql中文乱码问题

小结:
首先要找到mySql的配置文件
my.cnf
然后要改对地方
[client]和[mysqld]下同时加上default-character-set=utf8
然后记得需要重启MySql.且保证客户端的连接方式也是utf8.
预祝自己新的一年,吉祥如意,心想事成! ......

MySQL schema命名规则

/*****************by
garcon1986************************************************************/
通用规则:

个数据库里的名字都尽量使用小写。这样能消除由于大小写(
case-sensitivity
)带来
的错误。
Mysql
默认区分大小写。
使
用下划线断开名字,名字中不能
使用空格。
名字中尽量不要
使
用数 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号