精华内容
下载资源
问答
  • 数据库创建索引
    千次阅读
    2018-07-29 00:12:50

    数据库适合创建索引的规则如下:

    • 表的主键,外键应该创建索引;
    • 数据量比较大的表应该创建索引;
    • 经常需要和其他表建立连接,在连接字段应该创建索引;
    • 经常出现在where子句中的字段,应该创建索引。

    数据库不适合创建索引的情况:

    • 比较大的文本字段或者长度较长的字段,不适合创建索引;
    • 频繁进行数据操作的表,不适合创建过多的索引,因为额外维护索引表需要更多的开销;
    • 小型表(数据量低于300行)不要建立索引。
    更多相关内容
  • 数据库创建索引的几种方法

    千次阅读 2021-04-06 16:14:15
    首先创建了一张日志表,里面大概有一百多万的数据。 首先根据员工id进行检索: SELECT * FROM uclocklog WHERE uid = 874; 查询时间如下: 下面开始建立索引: 普通索引 添加INDEX ALTER TABLE table_name ADD ...

    首先创建了一张日志表,里面大概有一百多万的数据。
    在这里插入图片描述首先根据员工id进行检索:

    SELECT * FROM uclocklog WHERE uid = 874;
    

    查询时间如下:
    在这里插入图片描述
    下面开始建立索引:

    1. 普通索引
      添加INDEX
      ALTER TABLE table_name ADD INDEX index_name ( column )
    ALTER TABLE uclocklog ADD INDEX index_uid(uid);
    

    再执行查询语句,查询时间如下:
    在这里插入图片描述
    删除索引:

    DROP INDEX index_uid ON uclocklog;
    
    1. 主键索引
      添加PRIMARY KEY
      ALTER TABLE table_name ADD PRIMARY KEY ( column )

    添加主键索引:

    SELECT * FROM uclocklog ORDER BY id DESC;
    

    删除主键索引:

    ALTER TABLE uclocklog DROP PRIMARY KEY;
    

    如果主键是自增长的,不能直接删除该列的主键索引, 应当先取消自增长,再删除主键特性 :

    ALTER TABLE uclocklog MODIFY id int;
    ALTER TABLE uclocklog DROP PRIMARY KEY;
    
    1. 唯一索引
      添加UNIQUE
      ALTER TABLE table_name ADD UNIQUE ( column )
    ALTER TABLE uclocklog ADD UNIQUE(id);
    

    删除唯一索引:

    ALTER TABLE uclocklog DROP INDEX id;
    
    1. 全文索引
      添加FULLTEXT
      ALTER TABLE table_name ADD FULLTEXT ( column)
    ALTER TABLE uclocklog ADD FULLTEXT(name);
    

    删除索引:

    ALTER TABLE uclocklog DROP INDEX name;
    
    1. 多列索引
      ALTER TABLE table_name ADD INDEX index_name ( column1, column2, column3 )
    展开全文
  • 创建索引 1.1 使用Alter创建索引 1.添加主键索引 特点:数据列不允许重复,不能为null,一张表只能有一个主键;Mysql主动将该字段进行排序 ALTER TABLE 表名 ADD Primary key (col); 2.添加唯一索引 特点:索引...

    一. 创建索引

    1.1 使用Alter创建索引

    1.添加主键索引

    特点:数据列不允许重复,不能为null,一张表只能有一个主键;Mysql主动将该字段进行排序

    ALTER TABLE 表名 ADD Primary key (col);
    

    2.添加唯一索引

    特点:索引的值是唯一的,可以为null;Mysql主动将该字段进行排序

    ALTER TABLE 表名 ADD unique <索引名> (col1, col2, ...col3);
    

    3.添加普通索引

    特点:添加普通索引, 索引值可以不唯一,可以为null

    Alter table 表名 ADD index <索引名> (col1, col2, ...,);
    

    4.添加全文索引

    特点:只能在文本类型CHARVARCHAR, TEXT类型字段上创建全文索引;

    ALTER TABLE 表名 ADD Fulltext <索引名> (col)
    

    5.添加多列索引

    特点:多列是唯一的

    ALTER TABLE 表名 ADD UNIQUE (col1, col2, ..., )
    

    1.2 使用Create创建索引

    语法:create index 索引名 on 表名(字段)

    添加唯一索引

    create unique index 索引名 on table 表名(col1, col2, ..., )
    

    添加普通索引

    create index 索引名 on table 表名(col1, col2, ..., )
    

    1.3 两种创建索引方式的区别

    1. Alter可以省略索引名。如果省略索引名,数据库会默认根据第一个索引列赋予一个名称;Create必须指定索引名称。

    2. Create不能用于创建Primary key索引;

    3. Alter允许一条语句同时创建多个索引;Create一次只能创建一个索引

    create unique index 索引名 on table 表名(col1, col2, ..., )
    

    ALTER TABLE 表名 ADD Primary key (id), ADD index <索引名> (col1, col2, …,)

    索引执行效率分析:
    主键索引 > 唯一性索引 > 普通索引

    二、 删除索引

    # 第一种方式
    drop index 索引名 on 表名;
    
    # 第二种方式
    alter table 表名 drop index 索引名;
    
    # 第三种方式
    alter table 表名 drop primary key
    

    分析:
    第三种方式只在删除primary key中使用。因为一个表只能存在一个primary key索引,所以不需要指定索引名;
    对于第三种方式,若没有创建primary key索引,但表中具有一个或多个unique索引,则默认删除第一个unique索引;
    若删除表中的某列,索引会受到影响。对于多列组合的索引,如果删除其中的某一列,则该列会从对应的索引中被删除(删除列,不删除索引);删除多个组成索引的所有列,则索引将被删除(不仅删除列,还删除索引)。

    展开全文
  • mysql数据库创建索引和使用

    千次阅读 2018-11-08 13:43:46
    1. 2 ...需要注意索引需要的不同数据库引擎 alter table user add fulltext(字段名); 创建语句: CREATE TABLE zy_article( art_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, typ...

    1.

    2

     

     

     

     

     

     

     

    需要注意:

    ,后续添加修改索引。。需要注意索引需要的不同数据库引擎

    alter table user add fulltext(字段名);

    创建语句:

    CREATE TABLE zy_article(
        art_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
        type_id INT UNSIGNED,
        title VARCHAR(50) NOT NULL DEFAULT '',
        author VARCHAR(20) NOT NULL DEFAULT '',
        article_label VARCHAR(64) NOT NULL DEFAULT '' COMMENT '标签',
        create_time INT(10) NOT NULL DEFAULT 0,
        INDEX (type_id)
    );

     

     

     

    展开全文
  • 数据库创建索引

    千次阅读 2020-12-04 08:45:00
    索引有什么用? 假设有一张表,表的数据有10W条数据,其中有一条数据是name=‘小明’,如果要拿这条数据的话需要写的sql是 SELECT * FROM user WHERE name = ‘小明’。 一般情况下,在没有建立索引的时候,mysql需要扫描...
  • 如何在达梦数据库创建索引

    千次阅读 2020-09-05 15:32:48
    1、直接创建索引 可以使用CREATE INDEX语句明确地创建索引,例如在emp表的ename列上创建一个名为emp_ename的索引,该索引使用表空间users。 SQL> create index emp_ename on emp(ename) STORAGE(INITIAL 50,NEXT ...
  • 数据库创建索引的注意事项

    千次阅读 2018-08-10 20:49:19
    索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。所以是否要为表增加索引、索引建立在那些字段上,是创建索引前必须要考虑的问题。解决此问题就是分析应用程序的业...
  • 主流数据库索引及其例子

    千次阅读 多人点赞 2022-04-10 22:36:25
    创建表时创建索引 修改表时创建索引 创建索引注意事项 索引性能分析 查看profile是否开启的 设置开启profile 查看SQL执行的耗时详情 删除索引 利用drop index语句删除索引 利用alter table语句删.
  • 达梦数据库简介及索引创建

    千次阅读 2022-05-20 14:04:44
    武汉达梦数据库股份有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,致力于数据库管理系统与大数据平台的研发、销售和服务,同时可为用户提供全栈数据产品和解决方案。多年来,达梦公司始终...
  • 创建数据库索引的几种方法

    千次阅读 2020-06-20 10:34:31
    创建表的时候直接指定: CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) ); 删除索引的语法: DROP INDEX [indexName] ON mytable; 2、唯一索引 它...
  • 数据库索引: 索引有单列索引 复合索引之说 如何某表的某个字段有主键约束和唯一性约束,则Oracle 则会自动在相应的约束列上建议唯一索引数据库索引主要进行提高访问速度。 建设原则:  1、索引应该经常建在...
  • 1.主键索引:针对表主键创建索引 特点:默认自动创建,只有一个 关键字:primary 2.唯一索引:避免同一个表中某数据列中的值重复 特点:多个 关键字:unique 3.常规索引:快速定位特定数据 特点:多个 ...
  • postgresql创建索引

    千次阅读 2022-01-04 17:17:31
    postgresql创建索引
  • 为此并不是说给所有的表都创建索引,那么就可以提高数据库的性能。这个认识是错误的。恰恰相反,如果不管三七二十一,给所有的表都创建了索引,那么其反而会给数据库的性能造成负面的影响。因为此时滥用索引的开销...
  • 金仓数据库KingbaseES中索引创建与管理
  • 数据库索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。  二、索引的特点  1.索引...
  • MySQL中如何创建索引

    千次阅读 2022-05-02 14:46:11
    添加索引: 1.添加主键: alter table tableName add primary key(columnName); 2.添加唯一索引 alter table tableName add unique indexName(columnName); 3.添加普通索引 alter table tableName add index ...
  • pg创建索引以及删除索引的语法

    千次阅读 2022-04-12 10:06:22
    创建索引的语法: CREATE INDEX index_name ON table_name; 索引类型 单列索引 单列索引是一个只基于表的一个列上创建的索引,基本语法如下: CREATE INDEX index_name ON table_name (column_name); 组合索引 ...
  • 1、建立表索引 create index 索引名 on 表名(列名,列名); 2、删除表索引 drop index 索引名 on 表名; 3、查看表索引 select * from sysibm.sysindexes where tbname='表名'; ---表名区分大小写 或者在...
  • 利用SOLR从数据库创建索引

    万次阅读 2011-05-13 17:39:00
    利用SOLR从数据库创建索引
  • 索引1.1 原理1.2 创建索引1.2.1 创建主键索引1.2.2 唯一索引的创建1.2.3 普通索引的创建1.2.4 全文索引的创建1.3 查询索引1.4 删除索引1.5 索引创建的规则 1.索引   索引是对数据库表中一列或多列的值进行排序的...
  • 创建数据库表与索引实验
  • mysql 创建索引语句

    万次阅读 2020-11-19 19:00:03
    一、创建索引 1.PRIMARYKEY(主键索引) mysql > ALTERTABLE`table_name`ADDPRIMARYKEY (`column`) 2.UNIQUE(唯一索引) mysql > ALTERTABLE`table_name`ADDUNIQUE (`column` ) 3.INDEX(普通索引) mysql &...
  • 数据库建立索引常用的原则

    万次阅读 2018-09-18 10:59:20
    1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高...
  • 为数据表创建索引的目的是什么

    千次阅读 2021-01-29 18:21:30
    一、SQL创建索引的目的如下:1、通过唯一性索引(unique)可确保数据的唯一性;2、加快数据的检索速度;3、加快表之间的连接;4、减少分组和排序时间;5、使用优化隐藏器提高系统性能。二、创建SQL索引的语法:CREATE ...
  • mysql数据库索引创建语句

    千次阅读 2017-07-29 10:54:07
    单列索引 CREATE INDEX 索引名 ON 表名(列名); 组合索引创建 create unique index 索引名 on 表名(列名1,列名2……)
  • Oracle 创建索引

    千次阅读 2020-12-03 16:07:57
    Oracle 创建索引
  • 6、经常进行连接查询的列应该创建索引 7、使用create index时要将最常查询的列放在最前面 8、LONG(可变长字符串数据,最长2G)和LONG RAW(可变长二进制数据,最长2G)列不能创建索引 9、限制表中索引的数量(创建...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 592,971
精华内容 237,188
关键字:

数据库创建索引