zoukankan      html  css  js  c++  java
  • PRIMARY KEY,key,unique key

    主键索引(必须指定为“PRIMARY KEY”,没有PRIMARY Index)、

    唯一索引(unique index,一般写成unique key)、

    普通索引(index,只有这一种才是纯粹的index)等,也是基于是不是把index看作了key

    sql插入索引语句:

    普通索引:ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

    唯一索引:ALTER TABLE `table_name` ADD UNIQUE ( `column` )

    主键索引:ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

    当文本字段与数字进行比较时,由于类型不同,MySQL 需要做隐式类型转换才能进行比较。

    默认转换规则是:

    不同类型全都转换为浮点型

    如果字段是字符,条件是整型,那么会把表中字段全都转换为整型

    什么情况下要建立索引:

    1.在经常需要搜索的列上,可以加快索引的速度。

    2.主键列上可以确保列的唯一性。

    3.在表与表的而连接条件上加上索引,可以加快连接查询的速度。

    4.在经常需要排序(order by),分组(group by)和的distinct 列上加索引 可以加快排序查询的时间,   (单独order by 用不了索引,索引考虑加where 或加limit)。

    5.尽量选择区分度高的列作为索引。

    6.索引列不能参与计算,保持列“干净”。

    7.尽量的扩展索引,不要新建索引

    什么情况下不建立索引:

    1.查询中很少使用到的列 不应该创建索引,如果建立了索引然而还会降低mysql的性能和增大了空间需求。

    2.很少数据的列也不应该建立索引,比如 一个性别字段 0或者1,在查询中,结果集的数据占了表中数据行 的比例比较大,mysql需要扫描的行数很多,增加索引,并不能提高效率。

    3.定义为text和image和bit数据类型的列不应该增加索引。

    4.当表的修改(UPDATE,INSERT,DELETE)操作远远大于检索(SELECT)操作时不应该创建索引,这两个操作是互斥的关系。
    ---------------------
    作者:jnshu_it
    来源:CSDN
    原文:https://blog.csdn.net/jnshu_it/article/details/80630054
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    2019上海网络赛 F. Rhyme scheme 普通dp
    2019牛客多校第七场E Find the median 权值线段树+离散化
    2019南昌网络赛  I. Yukino With Subinterval 树状数组套线段树
    ACM-ICPC 2018 徐州赛区网络预赛 I. query 树状数组
    计算机专业 程序员技术练级攻略(转载)
    HDU 3642 求体积交集
    2019牛客暑期多校训练营(第三场)F Planting Trees 单调队列
    Manthan, Codefest 16 G. Yash And Trees dfs序+线段树+bitset
    POJ 1177 矩形周长并 模板
    HDU 4614 线段树+二分查找
  • 原文地址:https://www.cnblogs.com/dianzan/p/11296326.html
Copyright © 2011-2022 走看看