zoukankan      html  css  js  c++  java
  • MySQL中索引注意事项和JDBC的应用

    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)")
  • 相关阅读:
    b_zj_最大点集(排序+小思维)
    b_zj_推箱子(记录人与箱子状态)
    b_zj_头条校招(分类讨论)
    Mybatis基础:缓存
    MyBatis嵌套查寻&嵌套结果查询--复杂查询
    MyBatis报错: java.lang.IllegalArgumentException: Parameter Maps collection does not contain value for com.wang.da
    log4j.properties详细配置 超干净!
    mybatis事务处理
    第一次使用MyBatis
    什么是MyBatis?它是用来做什么的?
  • 原文地址:https://www.cnblogs.com/ancient/p/3629232.html
Copyright © 2011-2022 走看看