精华内容
下载资源
问答
  • 创建索引的例子
    千次阅读
    2021-01-16 17:52:08

    本文介绍在MySQL中创建表的索引,包含创建普通索引,唯一索引,主键索引,全文索引,多列索引等,并举了例子。

    假设创建一个zaho_user表:

    CREATE TABLE `zaho_user` (
      `u_id` int(11) NOT NULL AUTO_INCREMENT,
      `insert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `u_name` varchar(20) NOT NULL DEFAULT '' COMMENT '用户名',
      `u_sex` tinyint(4) NOT NULL DEFAULT '1' COMMENT '性别',
      `u_desc` varchar(200) NOT NULL DEFAULT '' COMMENT '介绍'
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT '用户表';

    1、普通索引

    添加INDEX

    ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

    举例:
    将u_name字段设置为索引

    ALTER TABLE `zaho_user` ADD INDEX index_username (`u_name`)

    2、主键索引

    添加PRIMARY KEY

    ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

    举例:
    将u_id字段设置为主键索引

    ALTER TABLE `zaho_user` ADD PRIMARY KEY (`u_id`)

    3、唯一索引

    添加UNIQUE

    ALTER TABLE `table_name` ADD UNIQUE ( `column` )

    举例:
    将u_name字段设置为索引

    ALTER TABLE `zaho_user` ADD UNIQUE (`u_name`)
    

    4、全文索引

    添加FULLTEXT

    ALTER TABLE `table_name` ADD FULLTEXT ( `column`)

    举例:
    将u_desc字段设置为索引

    ALTER TABLE `zaho_user` ADD FULLTEXT (`u_desc`)

    5、如何添加多列索引

    ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

    举例:

    ALTER TABLE `zaho_user` ADD INDEX index_name ( `u_name`, `u_sex`, `u_desc` ) 

     

    更多相关内容
  • PostgreSQL创建索引例子

    万次阅读 2017-09-05 23:14:13
    --10索引 CREATE INDEX ds_product_imagery_gf2_10_centertime_idx  ON public.ds_product_imagery_gf2_10 USING btree  (centertime DESC)  TABLESPACE pg_default; CREATE INDEX ds_product_i


    --10索引
    CREATE INDEX ds_product_imagery_gf2_10_centertime_idx
        ON public.ds_product_imagery_gf2_10 USING btree
        (centertime DESC)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_10_fbounds_idx
        ON public.ds_product_imagery_gf2_10 USING gist
        (fbounds)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_10_fgeometry_idx
        ON public.ds_product_imagery_gf2_10 USING btree
        (fgeometry)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_10_satellite_sensor_idx
        ON public.ds_product_imagery_gf2_10 USING btree
        (satellite COLLATE pg_catalog."default" DESC, sensor COLLATE pg_catalog."default" DESC)
        TABLESPACE pg_default;


    ALTER TABLE public.ds_product_imagery_gf2_10
        ADD CONSTRAINT ds_product_imagery_gf2_10_pkey PRIMARY KEY (id);


    --11索引
    CREATE INDEX ds_product_imagery_gf2_11_centertime_idx
        ON public.ds_product_imagery_gf2_11 USING btree
        (centertime DESC)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_11_fbounds_idx
        ON public.ds_product_imagery_gf2_11 USING gist
        (fbounds)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_11_fgeometry_idx
        ON public.ds_product_imagery_gf2_11 USING btree
        (fgeometry)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_11_satellite_sensor_idx
        ON public.ds_product_imagery_gf2_11 USING btree
        (satellite COLLATE pg_catalog."default" DESC, sensor COLLATE pg_catalog."default" DESC)
        TABLESPACE pg_default;


    ALTER TABLE public.ds_product_imagery_gf2_11
        ADD CONSTRAINT ds_product_imagery_gf2_11_pkey PRIMARY KEY (id);


    --12索引
    CREATE INDEX ds_product_imagery_gf2_12_centertime_idx
        ON public.ds_product_imagery_gf2_12 USING btree
        (centertime DESC)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_12_fbounds_idx
        ON public.ds_product_imagery_gf2_12 USING gist
        (fbounds)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_12_fgeometry_idx
        ON public.ds_product_imagery_gf2_12 USING btree
        (fgeometry)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_12_satellite_sensor_idx
        ON public.ds_product_imagery_gf2_12 USING btree
        (satellite COLLATE pg_catalog."default" DESC, sensor COLLATE pg_catalog."default" DESC)
        TABLESPACE pg_default;


    ALTER TABLE public.ds_product_imagery_gf2_12
        ADD CONSTRAINT ds_product_imagery_gf2_12_pkey PRIMARY KEY (id);




    --13索引
    CREATE INDEX ds_product_imagery_gf2_13_centertime_idx
        ON public.ds_product_imagery_gf2_13 USING btree
        (centertime DESC)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_13_fbounds_idx
        ON public.ds_product_imagery_gf2_13 USING gist
        (fbounds)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_13_fgeometry_idx
        ON public.ds_product_imagery_gf2_13 USING btree
        (fgeometry)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_13_satellite_sensor_idx
        ON public.ds_product_imagery_gf2_13 USING btree
        (satellite COLLATE pg_catalog."default" DESC, sensor COLLATE pg_catalog."default" DESC)
        TABLESPACE pg_default;


    ALTER TABLE public.ds_product_imagery_gf2_13
        ADD CONSTRAINT ds_product_imagery_gf2_13_pkey PRIMARY KEY (id);


    --14索引
    CREATE INDEX ds_product_imagery_gf2_14_centertime_idx
        ON public.ds_product_imagery_gf2_14 USING btree
        (centertime DESC)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_14_fbounds_idx
        ON public.ds_product_imagery_gf2_14 USING gist
        (fbounds)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_14_fgeometry_idx
        ON public.ds_product_imagery_gf2_14 USING btree
        (fgeometry)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_14_satellite_sensor_idx
        ON public.ds_product_imagery_gf2_14 USING btree
        (satellite COLLATE pg_catalog."default" DESC, sensor COLLATE pg_catalog."default" DESC)
        TABLESPACE pg_default;


    ALTER TABLE public.ds_product_imagery_gf2_14
        ADD CONSTRAINT ds_product_imagery_gf2_14_pkey PRIMARY KEY (id);


    --15索引
    CREATE INDEX ds_product_imagery_gf2_15_centertime_idx
        ON public.ds_product_imagery_gf2_15 USING btree
        (centertime DESC)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_15_fbounds_idx
        ON public.ds_product_imagery_gf2_15 USING gist
        (fbounds)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_15_fgeometry_idx
        ON public.ds_product_imagery_gf2_15 USING btree
        (fgeometry)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_15_satellite_sensor_idx
        ON public.ds_product_imagery_gf2_15 USING btree
        (satellite COLLATE pg_catalog."default" DESC, sensor COLLATE pg_catalog."default" DESC)
        TABLESPACE pg_default;


    ALTER TABLE public.ds_product_imagery_gf2_15
        ADD CONSTRAINT ds_product_imagery_gf2_15_pkey PRIMARY KEY (id);


    --16索引


    CREATE INDEX ds_product_imagery_gf2_16_centertime_idx
        ON public.ds_product_imagery_gf2_16 USING btree
        (centertime DESC)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_16_fbounds_idx
        ON public.ds_product_imagery_gf2_16 USING gist
        (fbounds)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_16_fgeometry_idx
        ON public.ds_product_imagery_gf2_16 USING btree
        (fgeometry)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_16_satellite_sensor_idx
        ON public.ds_product_imagery_gf2_16 USING btree
        (satellite COLLATE pg_catalog."default" DESC, sensor COLLATE pg_catalog."default" DESC)
        TABLESPACE pg_default;


    ALTER TABLE public.ds_product_imagery_gf2_16
        ADD CONSTRAINT ds_product_imagery_gf2_16_pkey PRIMARY KEY (id);


    --17索引
    CREATE INDEX ds_product_imagery_gf2_17_centertime_idx
        ON public.ds_product_imagery_gf2_17 USING btree
        (centertime DESC)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_17_fbounds_idx
        ON public.ds_product_imagery_gf2_17 USING gist
        (fbounds)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_17_fgeometry_idx
        ON public.ds_product_imagery_gf2_17 USING btree
        (fgeometry)
        TABLESPACE pg_default;




    CREATE INDEX ds_product_imagery_gf2_17_satellite_sensor_idx
        ON public.ds_product_imagery_gf2_17 USING btree
        (satellite COLLATE pg_catalog."default" DESC, sensor COLLATE pg_catalog."default" DESC)
        TABLESPACE pg_default;


    ALTER TABLE public.ds_product_imagery_gf2_17
        ADD CONSTRAINT ds_product_imagery_gf2_17_pkey PRIMARY KEY (id);








    CREATE INDEX ds_product_imagery_gf2_10_id_idx
        ON public.ds_product_imagery_gf2_10 USING btree
        (id)
        TABLESPACE pg_default;
    CREATE INDEX ds_product_imagery_gf2_11_id_idx
        ON public.ds_product_imagery_gf2_11 USING btree
        (id)
        TABLESPACE pg_default;
    CREATE INDEX ds_product_imagery_gf2_12_id_idx
        ON public.ds_product_imagery_gf2_12 USING btree
        (id)
        TABLESPACE pg_default;
    CREATE INDEX ds_product_imagery_gf2_13_id_idx
        ON public.ds_product_imagery_gf2_13 USING btree
        (id)
        TABLESPACE pg_default;
    CREATE INDEX ds_product_imagery_gf2_14_id_idx
        ON public.ds_product_imagery_gf2_14 USING btree
        (id)
        TABLESPACE pg_default;
    CREATE INDEX ds_product_imagery_gf2_15_id_idx
        ON public.ds_product_imagery_gf2_15 USING btree
        (id)
        TABLESPACE pg_default;
    CREATE INDEX ds_product_imagery_gf2_16_id_idx
        ON public.ds_product_imagery_gf2_16 USING btree
        (id)
        TABLESPACE pg_default;
    CREATE INDEX ds_product_imagery_gf2_17_id_idx
        ON public.ds_product_imagery_gf2_17 USING btree
        (id)
        TABLESPACE pg_default;
    展开全文
  • CREATE INDEX Syntax CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [index_type] ON ... HASH | RTREE} 代码如下: — 创建索引的表格 create table testNoPK ( id int not null, name varchar(10) ); — 创建
  • 主流数据库之索引及其例子

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

    文章目录

     

    目录

    文章目录

    前言

    索引

    概述

    概念

    在数据库中使用索引的优缺点:

    索引分类

    普通索引

    唯─性索引

    主键索引

    全文索引

    空间索引

    其他分类

    索引设置的基本原则

    创建索引

    使用CREATE INDEX语句建立索引

    创建表时创建索引

    修改表时创建索引

    创建索引注意事项

    索引性能分析

    查看profile是否开启的

    设置开启profile

    查看SQL执行的耗时详情

    删除索引

    利用drop index语句删除索引

    利用alter table语句删除索引


    前言

    大家好,我是ice三分颜色。

    个人主页:ice三分颜色的博客

    本文讲了索引的相关知识,索引的概念,索引的分类,设置的基本原则,创建索引的三个方式和注意事项,索引的性能分析,删除索引等知识点。索引是重难点呀,很重要。

    走过路过的小伙伴们点个赞和关注再走吧,欢迎评论区交流,努力什么时候开始都不算晚,那不如就从这篇文章开始!

    大家一起成长呀!笔芯


    索引

    概述

    概念

    1.索引,是由数据库表中一列或多列组合而成的一种特殊的数据结构,利用索引可以快速查询数据库表中的特定记录信息(索引类似于字典中的目录,可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。多列索引类似于先按照一个条件,这个条件相同,那么就继续判断第二个条件,就是第二列索引以此类推)

    2.索引影响数据性能,高效的索引能提高查询速度和性能。MySQL默认查询是根据搜索条件进行全表扫描(从第一个到最后一个叫全表扫描),遇到匹配条件的记录就加入到结果集合当中。若涉及多表连接、查询条件复杂、数据量大的时候,没有索引扫描执行的数据量就会很大,很慢。

    3.索引包含从表或视图中一个或多个列生成的键,以及映射到指定数据行的存储位置指针。(数据库中索引的形式与书的目录相似,键值就像目录中的标题,指针相当于页码。索引能像目录一样快速查找内容(表数据),不必扫描整个数据表找。)

    4.索引是依赖于表建立的,提供了数据库中编排表中数据的内部方法。表的存储由两部分组成,一部分是表的数据页面,另一部分是索引页面。索引就存放在索引页面上。

    5.索引一旦创建,将由数据库自动管理和维护。(例如,向表中插入、更新和删除一条记录时,数据库会自动在索引中做出相应的修改。执行查询时,查询优化器会对可用的多种数据检索方法的成本进行估计,从中选用最有效的查询计划。)

    6.索引并不是越多越好,要正确认识索引的重要性和设计原则,创建合适的索引。(数据量很少的时候,没必要加索引)

    在数据库中使用索引的优缺点:

    优点:1.加速数据检索:索引能够以—列或多列值为基础实现快速查找数据行。2.优化查询:查询优化器依赖于索引起作用,索引能够加速连接、排序和分组等操作。3.强制实施行的唯一性:通过给列创建唯一索引,可以保证表中的数据不重复。

    缺点:1.虽然索引提高了查询速度,却会降低更新表的速度,因为更新表时,MySQL不仅要保存数据,还要保存索引。2.建立索引会占用磁盘空间的索引文件。

    索引分类

    MySQL的索引可分为如下5类:普通索引、唯一性索引、主键索引、全文索引、空间索引。(一般来说前三种就可以了,常用的是主键索引和唯一性索引)

    普通索引

    普通索引(index)是MySQL中的基本索引类型,允许在定义索引的列中插入重复值和空值。索引的关键字是index。

    唯─性索引

    唯一索引(unique)列的值必须唯一,允许有空值。如果是组合索引,则列值的组合必须唯一。在一个表上可以创建多个unique索引。

    主键索引

    主键索引(primary key)是一种特殊的唯一索引,不允许有空值。一般是在建表的同时创建主键索引。也可通过修改表的方法增加主键,但一个表只能有一个主键索引。(一般是和实际物理顺序保持一致的)

    全文索引

    全文索引(fulltext)是指在定义索引的列上支持值的全文查找,允许在索引列中插入重复值和空值。该索引只对char、varchar和text类型的列编制索引,并且只能在

    MylSAM存储引擎表中编制。在MySQL默认情况下,对于中文作用不大。

    空间索引

    空间索引(spatial)是对空间数据类型的字段建立的索引。MySQL中的空间数据类型有4种:geometry、point、linestring和polygon。空间索引只有在存储引擎MyISAM的表中创建。对于初学者来说,这类索引很少会用到。(我们存储引擎用的是innoDB)

    其他分类

    如果按照创建索引键值的列数分类,索引还可以分为单列索引和复合索引。

    如果按照存储方式分类,可分为二叉树(B-Tree)索引和Hash索引。

    索引设置的基本原则

    在数据表中创建索引时,为使索引的使用效率更高,必须考虑在哪些字段上创建索引和创建什么类型的索引。原则如下:

    1.一个表创建大量索引,会影响insert、update和delete语句的性能。应避免对经常更新的表创建过多的索引,要限制索引的数目。

    2.若表的数据量大,对表数据的更新较少而查询较多,可以创建多个索引来提高性能。

    3.经常需要排序、分组和联合操作的字段一定要建立索引,即将用于join、where判断和order by排序的字段上创建索引。

    4.在视图上创建索引可以显著的提升查询性能。

    5.尽量不要对数据库中含有大量重复值的字段建立索引,在这样的字段上建立索引有可能降低数据库的性能。

    6.在主键上创建索引。在InnoDB中如果通过主键来访问数据效率是非常高的。每个表只能创建一个主键索引。

    7.要限制索引的数目。对于不再使用或者很少使用的索引要及时删除。

    创建索引

    创建索引通常有3种命令方式:使用CREATE INDEX语句来创建索引、创建表时附带创建索引、通过修改表来创建索引。

    使用CREATE INDEX语句建立索引

    格式:CREATE [unique|fulltext|spatial] INDEX 索引的名称 ON 表名(表名的哪一列的列名1,列名2…)

    例:为employee表的ename列上建立一个升序普通索引ename_index。

    CREATE INDEX ename_index ON employee(ename ASC);

    例:在employee表的ename列上建立一个唯一性索引ename_uni_index。

    CREATE UNIQUE INDEX ename_uni_index ON employee(ename);

    例:在employee表的empno和ename列上建立一个复合索引empno_ename_index。

    CREATE INDEX empno_ename_index ON employee(empno,ename);

    可以使用show index from table_name语句查看表中已创建的索引

    SHOW INDEX FROM employee;如下

    我们也可直接在navicat中employee表右键设计表处查看索引,如下

    创建表时创建索引

    例:创建dept_index表时为dname字段建立一个唯一性索引dname_index,为loc字段的前3个字符创建一个前缀索引loc_index。

    CREATE TABLE IF NOT EXISTS dept_index (

    deptno INT(2),

    dname VARCHAR(14),

    loc VARCHAR(13),

    PRIMARY KEY (deptno),

    UNIQUE INDEX dname_index(dname),

    INDEX loc_index(loc(3))

    );

    修改表时创建索引

    例:在dept_index表上建立deptno和dname的复合索引。

    ALTER TABLE dept_index ADD INDEX deptno_dname_index(deptno, dname);

    查看dept_index表已创建的索引

    Show index from dept_index;

    创建索引注意事项

    1.只有表的所有者才有权限给表创建索引。

    2.索引的名称必须符合MySQL的命名规则,且必须是表中唯一的。(主键索引必定是唯一的,唯一性索引不一定是主键。一张表上只能一个主键,但可以有一个或者多个唯—性索引。)

    3.当给表创建unique约束时,MySQL会自动创建唯一索引。创建唯一索引时,应保证创建索引的列不包括重复的数据,并且不要有两个及以上的空值(null)。因为创建索引时将两个空值也视为重复的数据,如果有这种数据,必须先将其删除,否则索引不能被成功创建。也就是说唯一索引只允许有一个空值。

    索引性能分析

    MySQL5.0之后自带query诊断分析工具“Show Profiles”,可以定位出一条SQL语句执行的各种资源消耗情况(如CPU,IO等),以及该SQL执行所耗费的时间。

    要使用首先需要开启profile

    默认数据库是不开启的,且变量profiling是用户变量,每次都要重新启用

    查看profile是否开启的

    show variables like "%pro%";

    设置开启profile

    (因为查看,知道我的是开启的,所以就不需要再进行这一步)

    set profiling = 1;

    查看SQL执行的耗时详情

    show profiles; -- 查看所有SQL的总的执行时间。

    例:对员工姓名在加入索引前后进行执行时间性能分析(过程如下)

    -- 通过employee表创建表emp_index

    CREATE TABLE emp_index AS SELECT * FROM employee;

    -- 开启profile

    set profiling = 1;

    -- 查询未加索引前的员工姓名

    SELECT ename FROM emp_index;

    -- 查看sQL的执行时间

    show profiles;

    -- 为ename添加索引

    CREATE INDEX ename_index ON emp_index(ename);

    -- 查询加索引后的员工姓名

    SELECT ename FROM emp_index;

    -- 查看最近一条SQL的执行时间

    show profiles;

    结果如下:

    删除索引

    删除索引是不用的索引,要及时进行更新和维护,因为索引是有上限的。可以通过DROP语句和ALTER TABLE语句删除。

    利用drop index语句删除索引

    格式: DROP INDEX 索引名 ON 表名 ;

    例:

    DROP INDEX ename_index ON employee;

    利用alter table语句删除索引

    可以先用CREATE INDEX ename_index ON employee(ename ASC);重新创建一下索引ename_index,之后再作为测试用alter table删除

    格式:

    ALTER TABLE 表名 [DROP PRIMARY KEY| DROP INDEX 索引名|DROP FOREIGN KEY fk_symbol

    例:

    ALTER TABLE employee DROP INDEX ename_index;

    展开全文
  • sql语句创建索引This statement is used to create an “index” on a column in an existing table. 该语句用于在现有表的列上创建“索引”。 Key points on indexes: 指标要点: They are used to improve the ...

    sql语句创建索引

    This statement is used to create an “index” on a column in an existing table.

    该语句用于在现有表的列上创建“索引”。

    Key points on indexes:

    指标要点:

    • They are used to improve the efficiency of searches for data, presenting the data in a specific order, when joining tables (see the ultimate guide to JOIN statements) and more.

      当连接表(请参阅JOIN语句最终指南 )等时,它们可用于提高数据搜索的效率,以特定顺序显示数据。

    • An index is a “system” object, meaning that it is used by the database manager.

      索引是“系统”对象,表示数据库管理器使用它。
    • Part of this usage is for the database manager to update the index when the data used by the index changes in the related table. Keep this in mind because as the number of indexes increase in a database overall system performance can be impacted.

      这种用法的一部分是供数据库管理器在相关表中索引使用的数据更改时更新索引。 请记住这一点,因为随着数据库中索引数量的增加,整个系统的性能可能会受到影响。
    • If you find that your SQLs are running slow on a given table or tables, creating an index is the first thing to consider to correct the issue.

      如果发现您SQL在给定的一个或多个表上运行缓慢,则首先要考虑创建索引来解决此问题。

    Here’s an example of the syntax of the create index statement. Note that the syntax allows for an index to be over more than one column:

    这是create index语句的语法示例。 请注意,该语法允许索引超过一列:

    CREATE INDEX index_name
    ON table_name (column1, column2, ...);

    To create a new index on the student table's field, programOfStudy, use the following statement:

    要在学生表的字段programOfStudy上创建新索引,请使用以下语句:

    Here’s a statement to create the index:

    这是创建索引的语句:

    create index pStudyIndex
    on student (programOfStudy);

    In MySQL, you use the ALTER TABLE command to change and drop indexes. MySQL Workbench also provides GUI tools to manage indexes.

    在MySQL中,您可以使用ALTER TABLE命令更改和删除索引。 MySQL Workbench还提供了GUI工具来管理索引。

    But this is just scratching the surface. Check out the documentation for your database manager of choice and have fun trying different options yourself.

    但这只是表面。 请查阅您所选择的数据库管理员的文档,并自己尝试不同的选项,这很有趣。

    翻译自: https://www.freecodecamp.org/news/sql-create-index-statement-explained-with-examples/

    sql语句创建索引

    展开全文
  • 索引的概念和创建索引例子

    万次阅读 2017-06-29 15:36:57
    1 索引的概念 索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。表的存储由两部分组成,一部分用来存放数据页面,另一部分存放索引...
  • elasticSearch创建索引库、映射、文档

    千次阅读 2022-04-13 16:32:31
    创建索引库 使用postman或curl这样的工具创建 put http://localhost:9200/索引库名称 参数: { "settings": { "index": { "number_of_shards": 1, "number_of_replicas": 0 } } } number_of_shards:设置分片...
  • Mysql 创建索引

    千次阅读 2022-02-23 10:52:47
    数据库建立索引常用的规则如下: 1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引; 3、经常与其他表进行连接的表,在连接字段上应该建立索引; 4、经常出现在Where子句中的字段,特别是大表的字段,...
  • MySQL索引篇,创建表时创建索引

    千次阅读 2021-01-27 02:34:24
    索引对于MySQL数据库查询速度具有无可取代的作用,一个合适的索引能给数据查询的效率带来巨大的提升,本文来给大家讲讲如何创建索引,索引的最佳创建方式是在建表的时候就确定好要索引的字段并建立好索引。...
  • mysql 创建索引的三种方式

    千次阅读 2022-06-14 08:06:21
    mysql 创建索引的三种方式
  • 从MySQL 8.0.17开始, InnoDB支持创建多值索引(Multi-Valued Indexes),该索引是在JSON存储值数组的列上定义的二级索引,对于单个数据记录可以有多个索引记录。跟普通索引一样,也可以在`EXPLAIN`中查看到。
  • https://blog.csdn.net/weixin_41297324/article/details/83758033
  • ES 索引的操作 创建,删除,查询

    千次阅读 2022-03-04 15:02:11
    1. 创建索引; 默认的分片是5 Default for number_of_shards is 5 默认的副本是1 Default for number_of_replicas is 1 (ie one replica for each primary shard) { "settings" : { "index" : { "number_of_...
  • 如何在SQL创建索引

    千次阅读 2019-10-30 19:34:56
    我们通过一个简单的例子来开始教程,解释为什么我们需要数据库索引。假设我们有一个数据库表 Employee, 这个表有三个字段(列)分别是 Employee_Name、Employee_Age 和Employee_Address。假设表Employee 有上千行...
  • Spring Boot elasticsearch7.6.2基础操作:创建索引、新增数据、查询数据 这是我参考网上大佬写的例子,代码不想留在电脑里面就把它记录在博客上,或许对大家有一丢丢的帮助。
  • 这是一个不存在就添加索引例子,若需求是存在则删除 微调下面的 if not exists 即可 DROP PROCEDURE IF EXISTS add_index; DELIMITER $ CREATE PROCEDURE add_index() BEGIN DECLARE target_database VARCHAR(100...
  • Oracle 建立索引及SQL优化 数据库索引: 索引有单列索引 复合索引之说 如何某表的某个字段有主键约束和唯一性约束,则Oracle 则会自动在相应的约束列上建议唯一索引。数据库索引主要进行提高访问速度。 建设原则...
  • 所以我们创建索引时有什么能参考的属性,或者要遵守的原则呢? 1.列的离散度 我们先来看一个重要的属性列的离散度,公式如下: count(distinct(column_name)) : count(*) -- 列的全部不同值个数:所有数据行行数 ...
  • 索引+索引的类型+创建索引

    千次阅读 2018-09-10 13:53:45
    索引  1在关系数据库中,索引是一种与表有关的数据库结构,它是除了表以外的另一个重要模式对象。  2索引建立在表的一列或多列上的辅助对象,目的是提高表中数据的访问速度.  3索引是表示数据的另一种方式,它提供...
  • mysql创建分区索引

    千次阅读 2021-01-21 02:37:40
    该楼层疑似违规已被系统折叠隐藏此楼查看此楼mysql创建分区索引(一)分区表:把所有的数据放在一个表中,但是物理存储数据会根据一定规则存放到不同的文件中(二)什么时候使用分区表?数据比较大时候,数以亿记或者数以TB...
  • #### 例子来简单介绍一下ES的增删改查 #### # 新建一个test索引,里面有四个字段 PUT /test { "mappings": { "properties": { "title":{"type": "text"}, "name":{"type": "text"}, "age":{"type": "integer"},...
  • 浅析mysql索引

    2020-12-16 00:34:16
    可以使用一个或多个列,提供快速随机查找和访问记录的高效排序来创建索引。 要创建的索引,应当认为哪列将用于使SQL查询,创建对这些列的一个或多个索引。 实际上,索引也是表,其中保存主键或索引字段的指针并指向...
  • SQL Server 创建索引(index)

    千次阅读 多人点赞 2019-06-14 18:01:13
    索引的简介: create index 索引名称 on 表名称(字段名称) 索引分为聚集索引和非聚集索引,数据库中的索引类似于一本书的目录,在一本书中通过目录可以快速找到你想要的信息,而不需要读完全书。 索引主要目的是...
  • 索引的理解: 索引是对数据库表中的一列或多列的值进行排序的一种数据结构。 索引的作用就类似于书本的目录,新华字典的拼音,偏旁部首的首查字,可以快速的检索到需要 的内容,mysql在300万条记录性能就下降了,...
  • SQLServer创建索引的5种方法

    万次阅读 多人点赞 2017-06-27 21:16:02
    前期准备:create table Employee ( ID int not null primary key, Name nvarchar(4), Credit_Card_ID varbinary(max));...go说明:本表上的索引,都会在创建下一个索引前删除。创建聚集索引方法 1、ALTER
  • 在性能优化过程中,选择在哪些列上创建索引是最重要的步骤之一。可以考虑使用索引的主要有两种类型的列:在Where子句中出现的列,在join子句中出现的列。请看下面这个查询: Select age ## 不使用索引 FROM people ...
  • MySQL索引创建及使用

    万次阅读 多人点赞 2019-03-12 17:56:59
    背景 最近在深化学习数据库相关知识,借此机会总结记录一番,本来想自己总结概括一下,但是看到一...关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL...
  • MySQL的索引分类及创建原则

    千次阅读 2022-03-19 16:05:58
    一、索引分类。 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) 普通索引:添加普通的索引不会对原来的列产生任何影响,该索引只用来提高查询效率(该列是否非空,是否唯一由列本身的约束条件约束)。 ...
  • 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可以提高数据库中特定数据的查询速度。所有mysql列的类型都可以使用索引,例如:数据库...如果在num列上创建索引,mysql不需要任何扫描,直接在索引里...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 351,185
精华内容 140,474
关键字:

创建索引的例子