mysql索引
MySQL索引和查询优化
对于任何DBMS,索引都是进行优化的最主要的因素。对于少量的数据,没有合
适的索引影响不是很大,但是,当随着数据量的增加,性能会急剧下降。
如果对多列进行索引(组合索引),列的顺序非常重要,MySQL仅能对索引最左边
的前缀进行有效的查找。
例如:
假 设存在组合索引it1c1c2(c1,c2),查询语句select * from t1 where c1=1 and c2=2
能够使用该索引。查询语句select * from t1 where c1=1也能够使用该索引。但是,
查询语句select * from t1 where c2=2不能够使用该索引,因为没有组合索引的引
导列,即,要想使用c2列进行查找,必需出现c1等于某值。
索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。
下面介绍几种常见的MySQL索引类型:
在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个
mytable表:
1.
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL );
我们随机向里面插入了10000条记录,其中有一条:5555, admin。
在查找username="admin"的记录
1.
SELECT * FROM mytable WHERE username='admin';
时,如果在username上已经建立了索引,MySQL无须任何扫描,即准确可找到
该记录。相反,MySQL会扫描所有记录,即要查询10000条记录。
索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以
有多个单列索引,但这不是组合索引。组合索引,即一个索包含多个列。
MySQL索引类型包括:
(1)普通索引
这是最基本的索引,它没有任何限制。它有以下几种创建方式:
创建索引
1.
CREATE INDEX indexName ON mytable(username(length));
如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT
类型,必须指定 length,下同。
修改表结构
1.
ALTER mytable ADD INDEX [indexName] ON (username(length))
创建表的时候直接指定
1.
CREATE TABLE mytable( ID INT NOT NULL,
username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );
删除索引的语法:
1.
DROP INDEX [indexName] ON mytable;
(2)MySQL索引类型:唯一索引
它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。
如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:
创建索引
1.
CREATE UNIQUE INDEX indexName ON mytable(username(length))
修改表结构
1.
ALTER mytable ADD UNIQUE [indexName] ON (username(length))
创建表的时候直接指定
1.
CREATE TABLE mytable( ID INT NOT NULL,
username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );
(3)MySQL索引类型:主键索引
它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索
引:
1.
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMAR
Y KEY(ID) );
当然也可以用 ALTER 命令。记住:一个表只能有一个主键。
(4)组合索引
为了形象地对比单列索引和组合索引,为表添加多个字段:
1.
CREATE TABLE mytable( ID INT NOT NULL, username
VARCHAR(16) NOT NULL, city VARCHAR(50) NOT NULL, age INT NOT NULL );
为了进一步榨取MySQL的效率,就要考虑建立组合索引。就是将 name, city, age
建到一个索引里:
1.
ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age);
建表时,usernname长度为 16,这里用 10。这是因为一般情况下名字的长度不
会超过10,这样会加速索引查询速度,还会减少索引文件的大小,提高INSERT
的更新速度。
如果分别在 usernname,city,age上建立单列索引,让该表有3个单列索引,
查询时和上述的组合索引效率也会大不一样,远远低于我们的组合索引。虽然此
时有了三个索引,但MySQL只能用到其中的那个它认为似乎是最有效率的单列
索引。
建立这样的组合索引,其实是相当于分别建立了下面三组组合索引:
1.
usernname , city, age usernname , city usernname
以上的相关内容就是对MySQL索引类型的部分内容的介绍,望你能有所收获。
使用索引的注意事项
使用索引时,有以下一些技巧和注意事项:
索引不会包含有NULL值的列
只要列中包含有NULL值都将不会被包含在MySQL索引中,复合索引中只要有一
列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库设
计时不要让字段的默认值为NULL。
使用短索引
对串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个CHAR(255)
的列,如果在前10个或20个字符内,多数值是惟一的,那么就不要对整个列进
行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。
索引列排序
MySQL查询只使用一个索引,因此如果where子句中已经使用了索引的话,那
么order by中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况
下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建
复合索引。
like语句操作
一般情况下不鼓励使用like操作,如果非使用不可,如何使用也是一个问题。like
“%aaa%” 不会使用MySQL索引而like “aaa%”可以使用索引。
不要在列上进行运算
1.
select * from users where YEAR(adddate)<2007;
将在每个行上进行运算,这将导致索引失效而进行全表扫描,因此我们可以改成
1.
select * from users where adddate<‘2007-01-01’;
不使用NOT IN和<>操作
MySQL中的索引统计和索引重建的技巧
MySQL中的索引统计和索引重建的技巧在数据库管理系统中,索引是提高查询性能的关键因素之一。
MySQL作为最常用的关系型数据库管理系统之一,索引对于其性能优化尤为重要。
本文将探讨MySQL中的索引统计和索引重建的技巧,帮助读者更好地理解和应用索引。
一、索引统计的重要性索引统计指的是MySQL根据数据表的索引信息,生成并维护一些统计数据,用于优化查询的执行计划。
MySQL通过分析这些统计数据,选择最优的查询执行计划,提高查询性能。
1.1 索引统计的作用索引统计可以告诉MySQL每个索引的选择性和基数,帮助MySQL优化查询计划,提高查询性能。
选择性是指索引中不同值的数量与数据表中总记录数之比,选择性越高,索引的效果越好。
基数是指索引中不同值的数量,基数越大,索引的效果越好。
1.2 如何统计索引MySQL通过使用ANALYZE TABLE命令或者执行SELECT语句来统计索引。
ANALYZE TABLE命令会扫描整个数据表,统计各个索引的选择性和基数。
执行SELECT语句时,MySQL也会根据需要统计索引信息。
但是有时候,MySQL的统计会出现误差,因此我们需要手动进行索引统计。
二、索引重建的必要性索引重建是指对已经存在的索引进行重建,以减少索引碎片并优化索引性能。
索引碎片是由于插入、更新和删除操作导致的数据分布不均匀,使得索引的效率降低。
索引重建可以通过重新建立索引来优化性能,并解决索引碎片带来的性能问题。
2.1 如何判断索引碎片我们可以通过查询索引碎片率来判断索引是否存在碎片。
碎片率是指索引中物理空间未被使用的比例。
MySQL提供了一个系统视图来查看索引碎片率,可以通过查询information_schema.innodb_index_stats视图获得相应信息。
2.2 索引重建的方法MySQL提供了多种方式来重建索引,常用的包括ALTER TABLE语句、OPTIMIZE TABLE命令和pt-online-schema-change工具等。
mysqlhaving索引_MySql的groupbyhaving优化案例
mysqlhaving索引_MySql的groupbyhaving优化案例MySQLhaving索引MySQL数据库系统的GroupBy/Having子句用于查询表中的行,并根据一列或多列的值进行分组。
Having子句用于从分组中选择行。
这种语句经常用于统计报表,因此在一些场景中执行性能是非常重要的。
因此,优化GroupBy/Having子句是MySQL性能优化的一个重要部分。
本文旨在讨论MySQL使用GroupBy/Having子句时应执行的一般优化步骤,以及如何使用MySQLhaving索引来提高性能。
首先,在优化GroupBy/Having子句之前,应该确保表上有足够的索引以支持查询。
根据查询中所使用的参数,应该创建适当的复合索引,以支持GroupBy / Having子句。
在创建索引时,应该确保索引中的字段在查询中正确使用。
例如,如果查询使用where子句和group by子句,则必须提供包含where子句中所有字段的复合索引,以及group by子句中所有字段。
在这种情况下,其顺序(先where,后group by)也很重要,因此索引的字段顺序应该与查询中使用的字段顺序相同。
一旦表上有了合适的索引,则可以创建一个MySQLhaving索引,以支持GroupBy / Having子句的查询。
MySQLhaving索引可以是普通的B树索引,也可以是哈希索引或倒排索引。
MySQLhaving索引可以用来加速GroupBy / Having子句的查询,因为它可以减少查询中需要扫描的行数。
MySQLhaving索引的使用可以极大地提高查询的性能,从而减少查询执行时间。
一般来说,MySQLhaving索引应该包含GroupBy / Having子句中的所有字段。
MySQL中的中文分词和全文索引的实现技巧
MySQL中的中文分词和全文索引的实现技巧MySQL是一款广泛使用的关系型数据库管理系统,它提供了丰富的功能和优秀的性能。
然而,在处理中文文本数据方面,MySQL的默认配置并不能很好地支持中文分词和全文索引。
本文将介绍在MySQL中实现中文分词和全文索引的技巧,并探讨如何优化中文文本数据的检索效果。
一、中文分词技术的选择中文分词是将连续的汉字序列切分成一个一个独立的词语的过程。
在MySQL中进行中文分词,我们有多种技术可供选择。
这里我将介绍两种常见的中文分词技术:基于词典的分词和基于统计模型的分词。
1. 基于词典的分词基于词典的分词是最常见的中文分词技术。
它通过使用一个包含大量中文词语的词典,将输入的文本按照词典中的词语进行切分。
MySQL中可以使用开源的中文分词工具如IKAnalyzer、SmartCN等来实现基于词典的分词。
这些工具提供了丰富的功能,可以支持自定义词典和停用词等功能。
2. 基于统计模型的分词基于统计模型的分词是一种基于概率统计的分词技术。
它通过训练一个统计模型,学习词语的出现概率,并根据概率值判断是否在该位置切分词语。
常见的基于统计模型的中文分词工具有Jieba、HanLP等。
这些工具可以通过对大量文本进行训练,提供更准确的分词结果。
通过选择适合的中文分词技术,我们可以将中文文本切分成一个个独立的词语,为后续的全文索引提供准备。
二、全文索引的实现技巧全文索引是指对文本类型的数据建立索引,以提供快速高效的文本搜索功能。
在MySQL中,我们可以通过以下技巧实现全文索引。
1. 使用MyISAM引擎MySQL提供了多种存储引擎,包括MyISAM和InnoDB等。
在实现全文索引时,推荐使用MyISAM引擎。
因为MyISAM引擎在全文索引方面有着更好的性能和功能支持。
2. 创建全文索引在MySQL中,我们可以使用FULLTEXT索引类型来创建全文索引。
FULLTEXT索引可以对表中的一个或多个列进行索引,并支持使用全文搜索函数进行高效的文本搜索。
MySQL中的表分区和索引选择优化建议
MySQL中的表分区和索引选择优化建议在大数据时代的背景下,数据库的性能和优化变得越发重要。
MySQL作为最流行的开源数据库管理系统之一,在数据分析与存储方面扮演着重要的角色。
在MySQL中,表分区和索引选择是优化数据库性能的两个关键因素。
本文将探讨MySQL中的表分区和索引选择,并给出优化建议。
一、表分区的概述表分区是将一张表划分为多个较小的独立部分,每个部分可以存储在不同的物理位置上。
表分区的主要目的是提高查询和维护的性能。
通过将数据分布在多个分区上,可以减少查询的数据量,并且可以针对每个分区进行独立的维护操作。
在选择表分区的策略时,应该考虑数据的特点和查询模式。
以下是一些建议:1. 按范围分区:根据数据的范围进行分区,在每个分区上存储数据的范围是连续的。
这种分区策略适用于按照时间或者连续的数值范围进行查询的场景。
2. 按列表分区:按照某个字段的固定值进行分区,在每个分区上存储的数据具有相同的特征。
这种分区策略适用于按照某个字段值进行查询的场景。
3. 按哈希分区:根据某个字段的哈希值进行分区。
这种分区策略适用于需要将数据均匀分布在不同分区上的场景。
二、索引选择的优化索引是提高数据库查询效率的关键。
选择合适的索引可以大大加快查询的速度,并减少数据库的资源消耗。
以下是一些建议:1. 唯一索引:在表中选择合适的字段创建唯一索引。
唯一索引可以确保数据的唯一性,并且加快查询速度。
通常,在主键或者唯一标识的字段上创建唯一索引是一个明智的选择。
2. 组合索引:对于频繁同时查询多个字段的操作,可以考虑创建组合索引。
组合索引可以减少磁盘I/O次数和内存消耗。
3. 索引覆盖:尽量减少全表扫描,保证使用索引能够满足查询的需求。
使用索引覆盖可以减少数据库的资源消耗。
4. 索引统计信息:及时更新索引的统计信息。
MySQL提供了ANALYZE TABLE或者OPTIMIZE TABLE命令来更新索引的统计信息,确保数据库的查询优化器能够选择合适的索引进行查询。
MySQL中的主键与唯一索引的使用场景
MySQL中的主键与唯一索引的使用场景MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种大规模的企业级应用程序中。
在MySQL中,主键和唯一索引是两个重要的概念,它们在数据库设计和优化中起着关键作用。
本文将探讨MySQL中主键和唯一索引的使用场景,以帮助读者更好地理解它们的作用和优势。
一、主键的定义和作用主键是一列或一组列的集合,其值在表中必须是唯一的。
主键的作用主要有两点:1. 保证数据的唯一性:主键可以确保表中的每一行数据都具有唯一的标识,这样可以避免数据冗余和数据不一致的问题。
2. 提高数据访问效率:主键可以作为查询和连接表的条件,通过索引的方式快速定位到目标数据,提高查询和连接的效率。
二、主键的选择在MySQL中,主键的选择主要有以下几种方式:1. 自增主键:使用自增主键作为主键,可以确保每一行数据都有唯一的标识,并且在插入新数据时不需要手动指定主键的值。
这种方式适用于大部分场景下的数据表设计。
2. UUID主键:UUID(Universally Unique Identifier)是一种由算法生成的128位数字,具有全球唯一性。
使用UUID作为主键可以保证分布式系统中数据的唯一性,但由于其长度较长,会对索引和查询性能造成一定的影响。
因此,对于需要高性能的应用程序,不建议使用UUID主键。
3. 组合主键:在某些情况下,一个单一的列可能无法完全满足主键的需求,此时可以选择多个列组合成主键。
通过组合主键,可以保证多个列的值的唯一性,提高数据的完整性。
三、唯一索引的定义和作用唯一索引是一种特殊的索引类型,它要求索引中的每个值都是唯一的。
唯一索引的作用主要有两点:1. 保证数据的唯一性:唯一索引可以确保被索引的列中的每个值都是唯一的,避免了数据冗余和数据不一致的问题。
2. 提高查询效率:唯一索引可以加速数据的查询,并且在连接表时起到了关键的作用。
四、唯一索引的适用场景唯一索引适用于以下几种场景:1. 主键列需要保证唯一性的情况下,使用唯一索引可以对其进行加速。
如何在MySQL中使用复合索引
如何在MySQL中使用复合索引MySQL是一个开源的关系型数据库管理系统,被广泛应用于各种规模的应用程序中。
为了提高查询性能,MySQL提供了索引功能。
索引是一种数据结构,用于加快对数据库表中数据的访问速度。
在MySQL中,使用复合索引可以进一步优化查询性能。
本文将探讨如何在MySQL中使用复合索引。
1. 复合索引的概念在MySQL中,复合索引是指基于多个列的索引。
相对于单列索引而言,复合索引可以提供更高效的查询性能。
通过将多个列组合为一个索引,可以使查询更加快速和精确。
2. 复合索引的创建和语法在MySQL中,创建复合索引需要使用CREATE INDEX语句。
下面是一个创建复合索引的示例:```CREATE INDEX index_name ON table_name (column1, column2, ..., columnN);```其中,index_name是索引的名称,table_name是要创建索引的表的名称,column1, column2, ..., columnN是要包含在索引中的列。
3. 复合索引的选择原则在选择创建复合索引时,需要考虑以下几个原则:- 选择用于查询的列:复合索引应该包含在常用的查询中使用的列,以提高查询性能。
- 选择列的顺序:复合索引中列的顺序重要性较大。
应该将最常用于查询的列放在前面,以提高查询性能。
- 选择列的类型:复合索引中的列应该具有较高的选择性,即列中的不同值的数量应该尽量多。
这样可以提高索引的效率。
- 不要过度索引:创建过多的复合索引可能会降低查询性能。
应该根据实际情况选择创建索引的列。
- 根据业务需求创建:根据具体业务需求创建复合索引,以提高查询和插入的性能。
4. 复合索引的优缺点复合索引具有以下优点:- 提高查询性能:复合索引可以通过减少需要扫描的数据量,提高查询的速度。
- 减少磁盘I/O:复合索引可以减少磁盘I/O次数,提高查询性能。
- 节约存储空间:相比单列索引,复合索引可以节约存储空间。
mysql索引命名规则
MySQL索引命名规则一、引言索引是数据库中用来加快查询速度的一种数据结构。
在MySQL中,创建索引可以通过使用CREATE INDEX语句或在创建表的时候使用INDEX关键字来实现。
而索引命名规则则是指在创建索引的过程中,为索引起一个恰当且易于理解的名称,以方便后续的管理和维护。
一个好的索引命名规则能够大大提高数据库的可读性和可维护性。
本文将在下文中详细介绍MySQL索引命名规则的几个方面,方便读者在实践中灵活应用。
二、MySQL索引命名规则MySQL索引命名规则主要包括以下几个方面:2.1 索引类型前缀命名根据索引的类型,为索引命名时可以使用不同的前缀。
常见的几个索引类型包括:•主键索引(PRIMARY KEY)•唯一索引(UNIQUE)•普通索引(INDEX)•全文索引(FULLTEXT)•空间索引(SPATIAL)为了方便识别,可以在索引名称前加上相应的前缀,以表示该索引的类型。
例如,为一个主键索引命名为”pk_“开头,为一个唯一索引命名为”un_“开头。
2.2 索引对应的列命名索引是为了加速查询而创建的,而索引的创建通常会基于一个或多个列。
在为索引命名时,可以使用与索引对应的列名作为一部分索引名称。
这样命名的好处是可以直观地体现出索引对应的列,同时也方便维护人员根据索引名称快速定位和管理索引。
2.3 索引所在的表命名在数据库中,相同的表可能存在于不同的模式中,为了避免索引名称冲突,可以在索引名称中加上所在表的名称前缀。
这样可以确保在不同的模式中创建索引时,不会因为名称冲突而出错。
2.4 使用有意义的名称为了提高索引的可读性和可维护性,建议为索引起一个有意义的名称。
具体来说,可以根据索引所提供的功能或作用来命名。
例如,可以根据索引所代表的查询条件来命名,或者根据索引的用途来命名,比如”customer_occupation_index”表示根据顾客职业进行查询的索引。
2.5 使用统一的命名规范良好的命名规范能够提高代码的可读性和可维护性,对于索引命名也同样重要。
MySQL中的视图与索引优化技巧
MySQL中的视图与索引优化技巧1. 引言视图是MySQL数据库中一个非常重要的概念,它提供了一种虚拟表的方式来简化或重组数据库查询。
同时,索引也是数据库中常用的优化手段,能够加快查询速度。
在本文中,我们将深入讨论MySQL中的视图和索引优化技巧。
2. 视图概述视图是一种基于表的虚拟表,它通过对一个或多个关联表进行操作并生成结果集,常用于简化复杂的查询和提供数据的安全性。
视图可以看作是一个预定义的查询,它可以像表一样进行访问和操作,并且可以根据底层表的变化自动更新。
使用视图能够减少冗余的代码,并提高查询的可读性和可维护性。
3. 视图的创建和使用在MySQL中,可以使用CREATE VIEW语句来创建视图。
例如,我们可以通过以下语句创建一个名为customer_view的视图:CREATE VIEW customer_view ASSELECT customer_id, customer_nameFROM customer;创建完成后,我们可以像使用表一样对视图进行操作。
例如,可以使用SELECT语句查询视图的数据:SELECT * FROM customer_view;4. 视图的性能优化在使用视图时,我们需要注意其性能问题。
视图的性能问题通常包括查询速度慢和资源消耗大两个方面。
为了提高视图的性能,我们可以采取以下一些优化措施:(1)限制查询的列:视图可以选择底层表的列进行展示,因此可以通过限制查询的列来减少返回结果集的大小,提高查询速度。
(2)使用索引:可以在底层表上创建适当的索引,以便对视图的查询进行优化。
索引可以加快查询速度,并减少数据库的资源消耗。
(3)避免视图嵌套:视图嵌套会导致性能下降,因此尽量避免在视图定义中嵌套其他视图。
5. 索引的概述索引是一种数据结构,用于加速数据库的数据检索。
在MySQL中,索引可以分为主键索引、唯一索引、普通索引等多种类型。
索引能够快速定位到数据行,从而提高查询的效率。
mysql创建联合索引语法
mysql创建联合索引语法一、联合索引的概念联合索引(Composite Index)是指在数据库表中,使用多个列作为索引的一种索引类型。
与单列索引相比,联合索引可以提高查询效率,尤其是在涉及多个列的查询条件时。
二、联合索引的用途联合索引在以下情况下特别有用:1. 提高查询效率:当查询条件中使用了多个列作为条件时,联合索引可以减少数据库的查询次数,从而提高查询效率。
2. 优化排序操作:当使用联合索引进行排序时,可以减少排序操作的时间和资源消耗。
3. 支持覆盖索引:当联合索引中包含了查询结果所需要的所有列时,可以避免回表操作,提高查询效率。
三、创建联合索引的语法在MySQL中,可以使用以下语法来创建联合索引:```CREATE INDEX 索引名称 ON 表名 (列名1, 列名2, 列名3, ...);```其中,索引名称是自定义的索引名称,表名是要创建索引的表名,列名1、列名2、列名3等是要包含在联合索引中的列名。
例如,我们有一个名为"users"的用户表,其中包含了"username"、"email"、"phone"三个列。
我们希望在这三个列上创建一个联合索引,可以使用以下语句:```CREATE INDEX idx_user_info ON users (username, email, phone);```这样,就在"users"表上创建了一个名为"idx_user_info"的联合索引,包含了"username"、"email"、"phone"三个列。
四、联合索引的注意事项在使用联合索引时,需要注意以下几点:1. 列的顺序很重要:在创建联合索引时,需要根据查询的需求来确定列的顺序。
通常情况下,将出现频率高、区分度高的列放在前面,可以提高索引的效率。
MYSQL的索引类型:PRIMARY,INDEX,UNIQUE,FULLTEXT,SPAI。。。
MYSQL的索引类型:PRIMARY,INDEX,UNIQUE,FULLTEXT,SPAI。
⼀、介绍⼀下索引的类型Mysql常见索引有:主键索引、唯⼀索引、普通索引、全⽂索引、组合索引PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯⼀索引) ALTER TABLE`table_name` ADD UNIQUE (`column`)INDEX(普通索引) ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) FULLTEXT(全⽂索引) ALTER TABLE`table_name` ADD FULLTEXT ( `column` )组合索引 ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )Mysql各种索引区别:普通索引(INDEX):最基本的索引,没有任何限制唯⼀索引(UNIQUE):与"普通索引"类似,不同的就是:索引列的值必须唯⼀,但允许有空值。
主键索引(PRIMARY):它是⼀种特殊的唯⼀索引,不允许有空值。
全⽂索引(FULLTEXT ):仅可⽤于 MyISAM 表,⽤于在⼀篇⽂章中,检索⽂本信息的, 针对较⼤的数据,⽣成全⽂索引很耗时好空间。
组合索引:为了更多的提⾼mysql效率可建⽴组合索引,遵循”最左前缀“原则。
举个例⼦来说,⽐如你在为某商场做⼀个会员卡的系统。
这个系统有⼀个会员表有下列字段:会员编号 INT会员姓名 VARCHAR(10)会员⾝份证号码 VARCHAR(18)会员电话 VARCHAR(10)会员住址 VARCHAR(50)会员备注信息 TEXT那么这个会员编号,作为主键,使⽤ PRIMARY会员姓名如果要建索引的话,那么就是普通的 INDEX会员⾝份证号码如果要建索引的话,那么可以选择 UNIQUE (唯⼀的,不允许重复)会员备注信息,如果需要建索引的话,可以选择 FULLTEXT,全⽂搜索。
