精华内容
下载资源
问答
  • 数据库建立索引
    千次阅读
    2019-04-01 14:21:34

    索引就像是书的目录,是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。索引中包含由表或视图中的一列或多列生成的键。这些键存储在一个结构(BTree)中,使SQL可以快速有效地查找与键值关联的行。

    为什么要建立索引,即索引的优点:
    ① 建立索引的列可以保证行的唯一性,生成唯一的rowId

    ② 建立索引可以有效缩短数据的检索时间

    ③ 建立索引可以加快表与表之间的连接

    ④ 为用来排序或者是分组的字段添加索引可以加快分组和排序顺序

    索引的缺点:
    ① 创建索引和维护索引需要时间成本,这个成本随着数据量的增加而加大

    ② 创建索引和维护索引需要空间成本,每一条索引都要占据数据库的物理存储空间,数据量越大,占用空间也越大(数据表占据的是数据库的数据空间)

    ③ 会降低表的增删改的效率,因为每次增删改索引需要进行动态维护,导致时间变长

    什么样的表跟列要建立索引:
    ① 总的来说就是数据量大的,经常进行查询操作的表要建立索引

    ② 表中字段建立索引应该遵循几个原则:

    1. 越小的数据类型通常更好:越小的数据类型通常在磁盘、内存中都需要更少的空间,处理起来更快。

    2. 简单的数据类型更好:整型数据比起字符,处理开销更小,因为字符串的比较更复杂,处理起来也更耗时。

    3. 尽量避免NULL:应该指定列为NOT NULL。含有空值的列很难进行查询优化,因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用0、一个特殊的值或者一个空串代替空值。

    4. 对非唯一的字段,例如“性别”这种大量重复值的字段,增加索引也没有什么意义,所以索引的建立应当更多的选取唯一性更高的字段。

    ③ 表与表连接用于多表联合查询的约束条件的字段应当建立索引

    ④ 用于排序的字段可以添加索引,用于分组的字段应当视情况看是否需要添加索引。

    ⑤ 添加多列索引的时候,对应的多条件查询可以触发该索引的同时,索引最左侧的列的单条件查询也可以触发。

    ⑥ 如果有些表注定只会进行查询所有,也就没必要添加索引,因为查询全部只能进行全量搜索即扫描全表。

    索引的原理:
    索引的原理大致概括为以空间换时间,数据库在未添加索引的时候进行查询默认的是进行全量搜索,也就是进行全局扫描,有多少条数据就要进行多少次查询,然后找到相匹配的数据就把他放到结果集中,直到全表扫描完。而建立索引之后,会将建立索引的KEY值放在一个n叉树上(BTree)。因为B树的特点就是适合在磁盘等直接存储设备上组织动态查找表,每次以索引进行条件查询时,会去树上根据key值直接进行搜索,次数约为log总条数,底数为页面存储数,例如一个100万数据的表,页面存储数为100,那么有索引的查询次数为3次log1000000100,但是全量搜索为100万次搜索,这种方式类似于二分法,但是这个是n分法。

    索引对增删改的影响实际数据修改测试:

    一个表有字段A、B、C,同时进行插入10000行记录测试

    在没有建索引时平均完成时间是2.9秒

    在对A字段建索引后平均完成时间是6.7秒

    在对A字段和B字段建索引后平均完成时间是10.3秒

    在对A字段、B字段和C字段都建索引后平均完成时间是11.7秒

    从以上测试结果可以明显看出索引对数据修改产生的影响

    转自:https://blog.csdn.net/miracleww/article/details/53352738

    更多相关内容
  • 以下是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据
  • 数据库建立索引常用的规则

    千次阅读 2019-08-01 19:04:11
    数据库建立索引常用的规则如下: 1、表的主键、外键必须有索引;  2、数据量...

    数据库建立索引常用的规则如下:

    1、表的主键、外键必须有索引; 
    2、数据量超过300的表应该有索引; 
    3、经常与其他表进行连接的表,在连接字段上应该建立索引; 
    4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引; 
    5、索引应该建在选择性高的字段上; 
    6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引; 
    7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:

    A、正确选择复合索引中的主列字段,一般是选择性较好的字段;

    B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;

    C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;

    E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;

    8、频繁进行数据操作的表,不要建立太多的索引; 
    9、删除无用的索引,避免对执行计划造成负面影响;

    以上是一些普遍的建立索引时的判断依据。 
    索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。 
    因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。 另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。 
    总的来说,小型表肯定不建索引, 
    或者数据库记录在亿条数据级以上,还是建议使用非关系型数据库。 
    还有些特殊字段的数据库,比如BLOB,CLOB字段肯定也不适合建索引。 
    其实这个问题更感觉偏向于做软件项目的一种经验。


    对千万级MySQL数据库建立索引的事项及提高性能的手段

    一、注意事项:

    首先,应当考虑表空间和磁盘空间是否足够。我们知道索引也是一种数据,在建立索引的时候势必也会占用大量表空间。因此在对一大表建立索引的时候首先应当考虑的是空间容量问题。 
    其次,在对建立索引的时候要对表进行加锁,因此应当注意操作在业务空闲的时候进行。

    二、性能调整方面:

    首当其冲的考虑因素便是磁盘I/O。物理上,应当尽量把索引与数据分散到不同的磁盘上(不考虑阵列的情况)。逻辑上,数据表空间与索引表空间分开。这是在建索引时应当遵守的基本准则。

    其次,我们知道,在建立索引的时候要对表进行全表的扫描工作,因此,应当考虑调大初始化参数db_file_multiblock_read_count的值。一般设置为32或更大。

    再次,建立索引除了要进行全表扫描外同时还要对数据进行大量的排序操作,因此,应当调整排序区的大小。

    9i之前,可以在session级别上加大sort_area_size的大小,比如设置为100m或者更大。

    9i以后,如果初始化参数workarea_size_policy的值为TRUE,则排序区从pga_aggregate_target里自动分配获得。

    最后,建立索引的时候,可以加上nologging选项。以减少在建立索引过程中产生的大量redo,从而提高执行的速度。

    MySql在建立索引优化时需要注意的问题

    设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率。设计MySql索引的时候有一下几点注意:

    1,创建索引

    对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。

    2,复合索引

    比如有一条语句是这样的:select * from users where area=’beijing’ and age=22; 
    如果我们是在area和age上分别创建单个索引的话,由于mysql查询每次只能使用一个索引,所以虽然这样已经相对不做索引时全表扫描提高了很多效 
    率,但是如果在area、age两列上创建复合索引的话将带来更高的效率。如果我们创建了(area, age, 
    salary)的复合索引,那么其实相当于创建了(area,age,salary)、(area,age)、(area)三个索引,这被称为最佳左前缀 
    特性。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。

    3,索引不会包含有NULL值的列

    只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为NULL。

    4,使用短索引

    对串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个CHAR(255)的 列,如果在前10 个或20 个字符内,多数值是惟一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。

    5,排序的索引问题

    mysql查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。

    6,like语句操作

    一般情况下不鼓励使用like操作,如果非使用不可,如何使用也是一个问题。like “%a%” 不会使用索引而like “aaa%”可以使用索引。

    7,不要在列上进行运算

    select * from users where 
    YEAR(adddate)

    8,不使用NOT IN和操作

    NOT IN和操作都不会使用索引将进行全表扫描。NOT IN可以NOT EXISTS代替,id3则可使用id>3 or id


    添加索引示例:

    添加索引示例:

    
     
    1. CREATE INDEX IDX_AUDITSTATUS ON [shanghaiDB].[dbo].[Activity](AUDITSTATUS) WITH( ONLINE= ON)
    2. CREATE INDEX IDX_ANUMMID ON [nantongDB].[dbo].[Orders](ANUM, MID) WITH( ONLINE= ON)
    3. CREATE INDEX IDX_SiteCode ON Usercenter.[dbo].MO(SiteCode) WITH( ONLINE= ON)
    4. CREATE INDEX IDX_AccessDt ON [all].[dbo].[AccessLog](AccessDt) WITH( ONLINE= ON)

    Create index注意n如果是大表建立索引,切记加上ONLINE参数

    Create index注意n如果是大表建立索引,切记加上ONLINE参数

    这几天在做数据库的优化,有个2亿记录的表,发现需要添加一个联合索引,结果就采用普通的create index index_name on tablename (entp_id,sell_date),结果悲剧了,把所有的DML语句都阻塞了,导致系统不能正常使用,还好是晚上10点,用户不是非常多,1个小时候,索引结束,阻塞解决;

    上网查了一下,如果加上 online参数后,就可以在线做索引,而不需要阻塞所有的DML语句,血的教训,拿出来与各位共勉,具体online与不加online区别如下:

    1. DML操作对create index 的影响。 如果在create的时候,有其他的进程在对这个index 所对应的数据进行DML操作,create会受影响:

    
     
    1. SQL> create table test (id number, name varchar2(20));
    2. Table created.
    •  

    然后重新开一个session:

    
     
    1. SQL> insert into test values ( 1, 'lms');
    2. 1 row created.
    3. <no commit>
    4. SQL> create index t1 on test(id);
    5. create index t1 on test(id)
    6. *
    7. ERROR at line 1:
    8. ORA- 00054: resource busy and acquire with NOWAIT specified
    •  

    2. 加online这个参数,这个参数加上以后,除了create过程中index 保持online状态,Oracle还会在create index之前等待所有DML操作结束,然后得到DDL锁,开始create.

    
     
    1. SQL> create index t1 on test(id) online;
    2. <hold before commit>
    3. <after commit>
    4. SQL> commit;
    5. Commit complete.
    6. Index altered.
    •  

    如果不commit,上面的操作就会一直hold。

    所以以后create索引和rebuild索引的时候最好加上online。

    展开全文
  • 建立索引的优缺点: 为什么要创建索引呢? 这是因为,创建索引可以大大提高系统的性能。 第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二、可以大大加快 数据的检索速度,这也是创建...

    建立索引的优缺点:

    为什么要创建索引呢?

           这是因为,创建索引可以大大提高系统的性能。
           第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
           第二、可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。
           第三、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
           第四、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
           第五、通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

           也许会有人要问:增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?这种想法固然有其合理性,然而也有其片面性。虽然,索引有许多优点, 但是,为表中的每一个列都增加索引,是非常不明智的。

    这是因为,增加索引也有许多不利的一个方面:

    第一、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

           第二、索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间。如果要建立聚簇索引,那么需要的空间就会更大。

           第三、当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

     

    什么样的字段适合创建索引:

    索引是建立在数据库表中的某些列的上面。因此,在创建索引的时候,应该仔细考虑在哪些列上可以创建索引,在哪些列上不能创建索引。

    一般来说,应该在这些列上创建索引,例如:

    第一、在经常需要搜索的列上,可以加快搜索的速度;

          第二、在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;

          第三、在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;

          第四、在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;

          第五、在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;

          第六、在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。

     

          建立索引,一般按照select的where条件来建立,比如: select的条件是where f1 and f2,那么如果我们在字段f1或字段f2上简历索引是没有用的,只有在字段f1和f2上同时建立索引才有用等。

     

    什么样的字段不适合创建索引:

    同样,对于有些列不应该创建索引。一般来说,不应该创建索引的的这些列具有下列特点:

    第一,对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,

    并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。
          第二,对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很少,例如人事表的性别列,

    在查询的结果中,结果集的数据行占了表中数据行的很大比 例,即需要在表中搜索的数据行的比例很大。

    增加索引,并不能明显加快检索速度。
          第三,对于那些定义为text, p_w_picpath和bit数据类型的列不应该增加索引。这是因为,这些列的数据量要么相当大,要么取值很少。
           第四,当修改性能远远大于检索性能时,不应该创建索 引。这是因为,修改性能和检索性能是互相矛盾的。

    当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。

    因此,当修改性能远远大于检索性能时,不应该创建索引。

     

    创建索引的方法::

    1、创建索引,例如 create index <索引的名字> on table_name (列的列表);
         2、修改表,例如 alter table table_name add index[索引的名字] (列的列表);
         3、创建表的时候指定索引,例如create table table_name ( [...], INDEX [索引的名字] (列的列表) );

     

    查看表中索引的方法:

    show index from table_name; 查看索引

     

     

    索引的类型及创建例子::

    1.PRIMARY KEY (主键索引)

    mysql> alter table table_name add primary key ( `column` )

     

    2.UNIQUE 或 UNIQUE KEY (唯一索引)

    mysql> alter table table_name add unique (`column`)


        3.FULLTEXT (全文索引)
        mysql> alter table table_name add fulltext (`column` )

        4.INDEX (普通索引)
        mysql> alter table table_name add index index_name ( `column` )

    5.多列索引 (聚簇索引)
         mysql> alter table `table_name` add index index_name ( `column1`, `column2`, `column3` )


    修改表中的索引:

          alter table tablename drop primary key,add primary key(fileda,filedb)

    展开全文
  • 数据库建立索引的原则

    千次阅读 2016-11-25 18:17:19
    索引查询是数据库中重要的记录查询方法,要不要进入索引以及在那些字段上建立索引都要和实际数据库系统的查询要求结合来考虑,下面给出实际中的一些通用的原则: 1. 在经常用作过滤器的字段上建立索引;  2. ...

    索引查询是数据库中重要的记录查询方法,要不要进入索引以及在那些字段上建立索引都要和实际数据库系统的查询要求结合来考虑,下面给出实际中的一些通用的原则:

    1. 在经常用作过滤器的字段上建立索引; 

    2. 在SQL语句中经常进行GROUP BY、ORDER BY的字段上建立索引;

    3. 在不同值较少的字段上不必要建立索引,如性别字段;

    4. 对于经常存取的列避免建立索引;

    5. 用于联接的列(主健/外健)上建立索引;

    6. 在经常存取的多个列上建立复合索引,但要注意复合索引的建立顺序要按照使用的频度来确定;

    7. 缺省情况下建立的是非簇集索引,但在以下情况下最好考虑簇集索引,如:含有有限数目(不是很少)唯一的列;进行大范围的查询;充分的利用索引可以减少表扫描I/0的次数,有效的避免对整表的搜索。当然合理的索引要建立在对各种查询的分析和预测中,也取决于DBA的所设计的数据库结构。

    展开全文
  • 数据库在执行一条sql语句时,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合...通常情况下,我们建立索引有三种: 1、唯一索引 唯一索引是不允许其中任何两行具有相同索引值的索引。 例如
  • 数据库建立索引怎么利用索引查询

    千次阅读 2019-03-05 11:32:04
    数据库建立索引怎么利用索引查询?精选 1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。 索引的使用要恰到好处,其...
  • oracle数据库建立索引的原则

    千次阅读 2016-08-08 23:16:02
    数据库建立索引的原则 1,确定针对该表的操作是大量的查询操作还是大量的增删改操作。 2,尝试建立索引来帮助特定的查询。检查自己的sql语句,为那些频繁在where子句中出现的字段建立索引。 3,尝试建立复合索引来...
  • 数据库建立索引常用的原则

    万次阅读 2018-09-18 10:59:20
    3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长...
  • 为mysql数据库建立索引

    千次阅读 2016-01-13 16:18:35
    为mysql数据库建立索引 前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,...
  • oracle数据库建立索引

    2011-09-28 23:59:06
    oracle数据库中如何建立索引建立索引有什么优势,索引该如何使用
  • 主流数据库索引及其例子

    千次阅读 多人点赞 2022-04-10 22:36:25
    使用CREATE INDEX语句建立索引 创建表时创建索引 修改表时创建索引 创建索引注意事项 索引性能分析 查看profile是否开启的 设置开启profile 查看SQL执行的耗时详情 删除索引 利用drop index语句删除索引 ...
  • 用lucene对数据库建立索引及搜索.doc
  • 数据库创建索引的几种方法

    千次阅读 2021-04-06 16:14:15
    下面开始建立索引: 普通索引 添加INDEX ALTER TABLE table_name ADD INDEX index_name ( column ) ALTER TABLE uclocklog ADD INDEX index_uid(uid); 再执行查询语句,查询时间如下: 删除索引: DROP INDEX ...
  • 数据库建立索引的好处与坏处

    千次阅读 2018-04-26 13:23:49
    原文出处:原文出处数据库索引的优缺点为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这...
  • 数据库索引是为了增加查询速度而对表字段附加的一种标识。见过很多人机械的理解索引的概念,认为增加索引只有好处没有坏处。
  • 创建数据库索引的几种方法

    千次阅读 2020-06-20 10:34:31
    1、普通索引 CREATE INDEX indexName ON mytable(username(length)); 创建表的时候直接指定: CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) ); ...
  • 数据库之创建索引

    千次阅读 2020-12-04 08:45:00
    索引有什么用? 假设有一张表,表的数据有10W条数据,其中有一...如果我在nickname上建立索引,那么mysql只需要扫描一行数据及为我们找到这条nickname='css’的数据,这样我们就很轻松的找到名字叫‘小明’的那一行或者多行
  • 创建索引 1.1 使用Alter创建索引 1.添加主键索引 特点:数据列不允许重复,不能为null,一张表只能有一个主键;Mysql主动将该字段进行排序 ALTER TABLE 表名 ADD Primary key (col); 2.添加唯一索引 特点:索引...
  • 建立索引的原则有哪些?

    千次阅读 2021-04-15 23:40:47
    在建立数据库表的时候,建立索引,能帮助我们提升查询速度,在MyISAM和InnoDB数据库引擎中,都采用的B+树索引。 如何建立索引?或者说建立索引的原则有哪些?这是面试官常会提及的问题。 主要的一些原则有: 建立...
  • MySQL数据库索引的优点及缺点

    千次阅读 2021-09-01 20:23:31
    2)通过索引的唯一性,可以保证数据库表中的每一行数据的唯一性; 3)可以加速表与表之间的链接; 4)降低查询中分组和排序的时间。 当然了,没有任何事情是完美的,索引也是如此,尽管索引好处非常多,但是其也...
  • 深入了解-数据库索引

    万次阅读 2018-05-01 11:03:02
    提到数据库,少不了索引。 我们先看看索引的定义:[在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值...
  • 数据库中表建立索引的优缺点

    千次阅读 2019-11-04 00:40:31
    1.通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 2.可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 3.可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 4....
  • 数据库为什么要建立索引

    千次阅读 2018-06-03 16:46:23
    一:什么是索引?索引(Index)是帮助MySQL高效获取数据的数据结构。二:为什么要建立索引?一个没有索引的数据库表就相当于一本...三:选择什么字段建立索引索引也是要占用存储空间的,建立索引的时候也是有一定...
  • 为mysql数据库建立索引;mysql索引总结----mysql 索引类型以及创建;mysql_建立索引的优缺点
  • 达梦数据库简介及索引创建

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

    千次阅读 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 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 371,317
精华内容 148,526
关键字:

数据库建立索引

友情链接: magic.rar