精华内容
下载资源
问答
  • 另一种是使用ALTER TABLE 语句在已存在的上创建索引,或者使用CREATE_INDEX 在已存在的上创建索引。 1. 在 创建表时创建【普通】索引 语法格式为: CREATE TABLE Y1 ( COLUMN_NAME DATA_TYPE SCHEME, ...

    MySQL提供了多种在单列或多列上创建索引的方法:一种是在创建表时指定索引列;另一种是使用ALTER TABLE 语句在已存在的表上创建索引,或者使用CREATE INDEX 在已存在的表上创建索引。

    1. 在 创建表时创建【普通】索引

    语法格式为:

    CREATE TABLE Y1 (
     COLUMN_NAME  DATA_TYPE  SCHEME,
      [UNIQUE | FULLTEXT | SPATIAL]  [INDEX | KEY ]  INDEX_NAME([LENGTH],.....)   [ASC | DESC]
    )
    

    UNIQUE | FULLTEXT | SPATIAL 这三个是可选项,UNIQUE 为唯一索引,FULLTEXT 为全文索引,SPATIAL 为空间索引,其中FULLTEXT 和SPATIAL InnoDB 存储引擎不支持,MyISAM存储引擎支持;INDEX 和 KEY 为同义词,创建索引时使用它们中任何一个都可以,INDEX_NAME 为索引名称,可选参数,如果不指定,缺省(默认值)为COLUMN_NAME ,LENGTH 为可选参数,可以指定索引的长度,需注意的是,只有字符串类型的列才能指定索引长度,ASC 或 DESC 指定升序或者降序的索引值存储。

    使用INDEX 创建 SQL:

    ```sql
    CREATE TABLE Y1 (
     ID INT (10) AUTO_INCREMENT NOT NULL,
     NAME VARCHAR (20) NOT NULL,
     SEX INT (1) NOT NULL DEFAULT 0,
     INDEX IDX (ID)
    )
    --创建普通索引
    
    CREATE TABLE T4 (
     ID INT NOT NULL,
     NAME CHAR(30) NOT NULL,
     AGE INT NOT NULL,
     INFO VARCHAR(255),
     FULLTEXT INDEX FULLTEXTIDX(INFO)
    ) ENGINE=MyISAM
    -- FullText 全文索引,需指定存储引擎为MyISAM,MySQL默认存储引擎为InnoDB
    
    CREATE TABLE T5 (
     G GEOMETRY NOT NULL,
     SPATIAL INDEX SPATINDEX (G)
    ) ENGINE = MYISAM
    -- SPATIAL 创建空间索引,需指定存储引擎为MyISAM,MySQL默认存储引擎为InnoDB
    
    -- 创建唯一索引
    CREATE TABLE Y3(
     ID INT NOT NULL,
     NAME CHAR(20),
     UNIQUE INDEX UNIQUEIDX(ID)
    )ENGINE = INNODB
    
    -- 创建组合索引
    CREATE TABLE Y4(
     ID INT NOT NULL,
     NAME CHAR(20),
     AGE INT NOT NULL,
     INDEX MULTIIDX(ID,NAME(19),AGE)
    ) ENGINE= INNODB
    

    使用KEY创建索引 SQL

    CREATE TABLE Y2 (
     ID INT NOT NULL,
     NAME VARCHAR (233) NOT NULL,
     KEY IDX (ID)
    ) ENGINE = INNODB DEFAULT CHARSET = UTF8
    --用KEY创建普通索引 
    

    **

    2. 在已存在表中添加索引

    **
    基本语法分两种,第一种语法为

    2.1:

    ALTER TABLE TABLE_NAME ADD  [UNIQUE | FULLTEXT | SPATIAL]  [INDEX | KEY ]  INDEX_NAME(COLUMN_NAME(LENGTH),.....)  [ASC | DESC]
    

    SQL:

    ALTER TABLE t1 ADD UNIQUE INDEX ALTERIDX(NAME)
    -- 使用ALTER TABLE 语句创建索引
    

    2.2:
    第二种语法为:

    CREATE [UNIQUE | FULLTEXT | SPATIAL]  [INDEX | KEY ]  INDEX_NAME ON TABLE_NAME(COLUMN_NAME(LENGTH),.....)  [ASC | DESC]
    

    SQL :

    CREATE UNIQUE INDEX CREIDX ON t4(NAME(20)) 
    -- 使用CREATE INDEX 在已存在表中创建索引
    
    展开全文
  • mysql语句添加索引

    万次阅读 2019-01-08 15:33:03
    mysql语句添加索引 创建或添加索引可以使用如下语句。 一、使用ALTER TABLE语句创建索引。 语法如下: 1.PRIMARY KEY(主键索引)  mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column.....

    参考:

    mysql索引学习----2----创建索引、修改索引、删除索引的命令语句

    mysql语句添加索引

    创建或添加索引可以使用如下语句。

    一、使用ALTER TABLE语句创建索引。

    语法如下:

    1.PRIMARY  KEY(主键索引)
            mysql>ALTER  TABLE  `table_name`  ADD  PRIMARY  KEY (  `column`  ) 
    2.UNIQUE(唯一索引)
            mysql>ALTER  TABLE  `table_name`  ADD  UNIQUE (`column` ) 
    3.INDEX(普通索引)
            mysql>ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column`  )
    4.FULLTEXT(全文索引)
            mysql>ALTER  TABLE  `table_name`  ADD  FULLTEXT ( `column` )
    5.多列索引
            mysql>ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column1`,  `column2`,  `column3`  )

     

    二、使用CREATE INDEX语句对表增加索引。

    能够增加普通索引和UNIQUE索引两种。其格式如下:
    create index index_name on table_name (column_list) ;
    create unique index index_name on table_name (column_list) ;
    说明:table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。

     

    三、删除索引。
    删除索引可以使用ALTER TABLE或DROP INDEX语句来实现。DROP INDEX可以在ALTER TABLE内部作为一条语句处理,其格式如下:
    drop index index_name on table_name ;
    alter table table_name drop index index_name ;
    alter table table_name drop primary key ;
    其中,在前面的两条语句中,都删除了table_name中的索引index_name。而在最后一条语句中,只在删除PRIMARY KEY索引中使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。
    如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。

    展开全文
  • SQL创建表索引语句

    千次阅读 2015-06-08 09:03:03
    SQL创建表索引语句:  语法:  use 数据库名  go  if exists(select name from sysindexes where name='索引名')  drop index 表名.索引名  go  create index 索引名 on 表名(字段名)  go  ...
    

    SQL创建表索引语句:

       语法:

        use 数据库名
        go
        if exists(select name from sysindexes where name='索引名')
               drop  index  表名.索引名
        go
        create index 索引名 on 表名(字段名)
        go

        示例:

       use XC_RFIDTEST
       go

        --1、日志记录表:T_Bim_Fault
       if exists(select name from sysindexes where name='IX_FaultBatch')
              drop index T_Bim_Fault.IX_FaultBatch
       go
       create index IX_FaultBatch on T_Bim_Fault(Fault_Batch)
       go

    展开全文
  • 转自:...所以大数据量的情况下建立索引,而此时会对该进行DML操作需要在建索引语句后加上online参数。同时建立索引可以用并发,记得建完之后要关掉并发否则会影响oracle性能。...

    转自:https://blog.csdn.net/paperbook/article/details/51003313

    在oracle建立索引时,会阻塞对该表的DML操作,select不属于DML,是DQL。


    所以在大数据量的情况下建立索引,而此时会对该表进行DML操作时需要在建索引语句后

    加上online参数。同时建立索引时可以用并发,记得建完之后要关掉并发否则会影响

    oracle性能。


    主要看你建立的索引的字段在查询的时候返回量的大小,如果量过大,按照oracle的原则超过总量4%左右时索引会失效,进行全表扫码,这个时候建议先建分区,再建索引。如果返回量小的话,可直接根据查询条件建立索引

    展开全文
  • sql多查询语句优化——建立索引

    千次阅读 2019-09-19 19:02:33
    因为是多查询,因此我们首先来看查询方法是否存在问题,然后再检查是否存在主数据量远远大于子的情况,之后再检查是否有建立索引查询。 解决问题 首先我们贴出查询语句 然后我们贴出navicat中此语句的查询...
  • 查询添加索引

    千次阅读 2019-05-03 10:23:44
    共有t_member(成员)t_organization(单位)t_member_t_organization(成员单位映射) select语句如下 SELECT tm.id,tm.name,birth, CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END...
  • navicat 为表添加索引

    千次阅读 2017-11-21 13:28:00
    navicat 为表添加索引 分析常用的查询场景,为字段添加索引,增加查询速度。 可以添加单列索引,可以添加联合索引。 右键,设计中可以查看和添加修改索引! 索引一定要根据常用的查询场景进行添加! 写了sql...
  • MySQL建立索引的SQL语句

    千次阅读 2019-12-26 15:11:25
    1. 主键索引:创建表时自动创建 { 聚集索引:一个中只有一个聚集索引 } 2. 唯一索引:CREATE UNIQUE INDEX unique_index_warn[索引名称]ON cas_alarm[表名](warn_id[列名]) 3. 普通索引:CREATE INDEX index_...
  • 数据库索引:索引有单列索引复合索引之说如何某的某个字段有主键约束和唯一性约束,则Oracle 则会自动相应的约束列上建议唯一索引。数据库索引主要进行提高访问速度。建设原则: 1、索引应该经常建Where 子句...
  • oracle创建索引语句

    千次阅读 2020-06-30 21:46:51
    索引 create index 索引名称 on table(column) 删除索引 drop index 索引名称 复合索引 create index WBSINDEX ON project_info(wbs,is_delete) 查询某张表中所有索引 select * from ALL_INDEXS where table_...
  • 数据库表添加索引

    千次阅读 2017-06-20 14:27:53
    1.添加PRIMARY KEY(主键索引) mysql> ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引) mysql> ALTER TABLE `table_name` ADD UNIQUE ( `column` ) 3.添加INDEX...
  • mysql 创建索引语句

    千次阅读 2017-05-16 11:12:48
    CREATE [UNIQUE|CLUSTERED] INDEX INDEX_NAME ON TABLE_NAME(PROPERTY_NAME) 其中UNIQUE和CLUSTERED为可选项,分别是...CLUSTERED:表示要建立索引时聚簇索引,即索引项的顺序与中记录的物理顺序一致的索引组织。
  • mysql索引语句(创建和查看)

    千次阅读 2019-10-13 07:43:35
    mysql索引语句mysql索引语句查看索引 show index from 数据库表名PRIMARY KEY(主键索引)UNIQUE(唯一索引)INDEX(普通索引)FULLTEXT(全文索引)多列索引1.普通索引。2.唯一索引。查看索引 mysql索引语句 查看索引 ...
  • 我的上一篇博客<<Explain检测SQL语句的性能>>中简单的介绍了explain关键字查询结果字段....如果中查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件...
  • CREATE INDEX 语句用于在表中创建索引不读取整个的情况下,索引使数据库应用程序可以更快地查找数据。 索引 您可以在表中创建索引,以便更加快速高效地查询数据。 用户无法看到索引,它们只能被...
  • MySQL——创建数据表时创建索引

    万次阅读 2018-05-15 18:53:58
     在建立数据表时创建索引 创建数据表时创建索引的基本语法结构: CREATE TABLE table_name( 属性名 数据类型[约束条件], …… 属性名 数据类型 [UNIQUE | FULLTEXT | SPATIAL ] INDEX | KEY ...
  • -- 创建Code字段的索引 名称叫:IX_CouponsInfoDN_Code USE ActivityDB GO IF EXISTS (SELECT * FROM SYSINDEXES WHERE NAME='IX_CouponsInfoDN_Code')--检测是否已经存在IX_TEST_TNAME索引 DROP INDEX ...
  • ---------添加索引方法--------- 1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引) mysql>ALTER TABLE `table_name` ADD UNIQUE ( ...
  • DB2 创建索引语句

    万次阅读 2017-12-05 09:55:46
    IDX_AGGERATION_PUSH_RECORD_SERIAL_NO 索引名称 FUND_AGGERATION_PUSH_RECORD 表名 SERIAL_NO 需要加索引的字段,多个用逗号隔开  COLLECT SAMPLED DETAILED STATISTICS COMPRESS NO ...
  • MySQL中判断索引不存在时添加索引

    千次阅读 2018-07-10 21:00:13
    MySQL中判断索引不存在时添加索引网上参考好多方法,都绕不开存储过程,没法做到直接一条语句IF NOT EXIST ...。# vim update.sqluse mydatabase;alter table tbl01 modify column name varchar(255);alter table ...
  • 创建索引原则及SQL添加索引

    万次阅读 2018-08-14 10:40:07
    检查自己的sql语句,为那些频繁where子句中出现的字段建立索引。  3.尝试建立复合索引来进一步提高系统性能。修改复合索引将消耗更长时间,同时,复合索引也占磁盘空间。  4.对于小型的建立索引可能会影响...
  • mysql表添加联合唯一索引

    千次阅读 2016-06-08 17:49:08
    开发过程中遇到了联合索引的问题,现在总结一下: 开发具体环境是这样的:我们有一个行业中包含省份和城市两个字段。因此需要针对这两个字段建立联合索引名称为:sc_blacklistcity 两个字段分别为:...
  • SQL语句(五) 索引建立

    万次阅读 2018-07-16 16:59:42
    一、实例  1.创建唯一性索引 SET STATISTICS TIME ON SELECT * FROM customer WHERE name ='阿爆' ; SET STATISTICS TIME OFF CREATE UNIQUE INDEX customer_name ON customer(name)...2.创建函数索引在零件的...
  • 1、建立表索引 create index 索引名 on 表名(列名,列名); 2、删除表索引 drop index 索引名 on 表名; 3、查看表索引 select * from sysibm.sysindexes where tbname='表名'; ---表名区分大小写 或者...
  • 建立图书馆书目索引表

    千次阅读 2018-02-07 11:43:32
    1,添加新关键词到索引表中,需先顺序移动插入点之后的关键字及书号链表,此时插入点的关键字串内存地址仍和其后的相同,  如果直接赋值新关键字到此地址,则会把其后的关键字也同时修改,所以需重新分配堆内存到带...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 128,788
精华内容 51,515
关键字:

在建立表时添加索引语句