1. 索引通常是设置where字句中的列,如果你设置select后的列,这是没有任何意义的。当然你需要对某列进行排序,order
by后的列也是可以建成索引的。
2. 使用唯一索引,主键就是最好的例子,假设你建的索引列,大量都是重复的,例如:性别,那么这样的索引并不会加快搜索速度。至于为什么,请大家自行了解索引的工作理。
3. 只要有可能,就要尽量限定索引的长度,例如索引列为 char(100),在其前10个字符大部分都是唯一的,请设置索引的长度为10,使用短索引可以加快查询速度,并节省硬盘
空间。
4. 索引的左前缀特性,联合索引实质上也是建立了多个的索引,那么是建立联合索引好还是分别建多个索引好呢?显然前者更好,利用左前缀特性,只要联合索引的最左的列被用到,那么索引都会被使用。
5. 当然,最后要说的是,不要过度使用索引,索引越多,插入的速度越慢,尤其到数据量庞大时,同时,大量的索引将耗费很多硬盘空间,造成不必要的浪费。
6.对于使用like的查询,需要注意的是只有列的%不在第一个字符索引才可能被使用
装载驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
建立连接
Connection con = DriverManager.getConnection(url, "myLogin",
"myPassword");
创建表
String createTableCoffees = "CREATE TABLE COFFEES "
+
"(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT,
" +"SALES INTEGER, TOTAL INTEGER)";
创建对象
Statement stmt = con.createStatement();
在表中输入数据
stmt.executeUpdate(
"INSERT INTO COFFEES " +
"VALUES (‘Colombian‘, 101, 7.99, 0, 0)")
MySQL中索引注意事项和JDBC的应用,古老的榕树,5-wow.com