MySQL索引的索引长度问题: Specified key was too long;max key length is 1000 bytes.
一、修改mysql的默认存储引擎:
1、查看mysql存储引擎命令,在mysql>提示符下搞入show engines;字段 Support为:Default表示默认存储引擎
2、设置InnoDB为默认引擎:在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句
3、重启mysql服务器:mysqladmin -u root -p shutdown或者service mysqld restart 登录mysql数据库
二、修改表引擎
1、查看数据库表状态
SHOW TABLE STATUS FROM db_name WHERE NAME='table_name';
2、修改数据库表的引擎
alter table table_name engine=innodb;
附:
对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎。如果你要使用全文索引,那必须使用myisam。
相关推荐
mysql索引长度计算规则
### MySQL索引背后的数据结构及算法原理 #### 数据结构及算法基础 索引在数据库中的作用至关重要,它能够显著提高数据检索的速度。正如标题所提到的,“MySQL索引背后的数据结构及算法原理”这一主题是技术面试中...
#### 二、查看MySQL索引的方法 在MySQL中,可以通过多种方式来查看数据库中的索引信息。其中一种常用的方法是利用`INFORMATION_SCHEMA.STATISTICS`表来获取相关信息。具体的SQL语句如下: ```sql SELECT * FROM ...
创建索引 数据索引 课程目标 理解 —— 创建索引的语法;...长度:表示使用列的前多少个字符创建索引。使用列的一部分创建索引可以使索引文件大大减小,从而节省磁盘空间。BLOB或TEXT列必须用前缀索引。 创建索引
MySQL中索引的类型 一般可分为四类: 普通索引:最普通的索引 唯一索引:索引列的值必须唯一,但允许有空值 主键索引:一种特殊的唯一索引,不允许有空值 联合索引:索引列有多个字段,使用时需要满足最左前缀...
MySQL索引长度限制是数据库设计中的一个重要因素,它直接影响到数据检索的速度和存储空间的效率。在MySQL中,不同的存储引擎对索引长度有不同的限制,这主要是由它们的内部实现和设计目标决定的。 首先,InnoDB引擎...
索引长度的计算公式为:`(Character Set:utf8mb4=4,utf8=3,gbk=2,latin1=1) * 列长度 + 1(允许null) + 2(变长列)`。 索引失效 ---------- 索引失效是指 MySQL 不能使用索引来加速查询,导致查询效率下降。索引...
此外,InnoDB对索引长度有限制:对于主键,总长度不能超过767字节;对于辅助索引,总长度不能超过3072字节。 在设计索引时,应考虑以下几点: 1. 避免过大的索引:减少不必要的列或缩短列的长度可以减小索引大小。 ...
MySQL中的索引是一种数据库结构,用于加速数据查询速度。索引可以类比为书籍的目录,使得数据库系统能更快地定位到所需的数据行。在实验报告中,我们主要涉及了索引的创建、管理和维护,以及对不同类型的索引的操作...
MySQL 数据库索引详解 MySQL 数据库索引是一种特殊的数据库结构,可以快速查询数据库表中特定记录。索引是提高数据库性能的重要方式。...注意添加索引的长度必须小于建表时给字段定义的长度,也可以不给长度。
`CHAR(M)`定义的列长度固定,它会在右侧填充空格以达到指定长度,检索时不删除这些空格,这在存储定长数据时较为高效,且其上的索引效率较高。然而,`CHAR`会浪费空间,因为即使存储的字符串比定义的长度短,也会...
- **创建索引**:CREATE INDEX 或 ALTER TABLE 命令,可以指定索引是否唯一以及列的长度。 - **删除索引**:DROP INDEX命令。 - **查看索引**:SHOW INDEX FROM命令。 在何时建立索引的问题上,应考虑以下因素: - ...
MySQL索引优化是数据库性能提升的关键之一。在深入理解索引优化的过程中,我们需要关注几个核心概念,如索引类型、键长度(key_len)、参考值(ref)以及全表扫描(type=ALL)和文件排序(Using filesort)。 首先...
其中,`index_name`是索引的名称,`table_name`是表名,`column_name`是字段名,`length`可选,用于限制索引的长度。`USING`关键字指定索引类型,默认为BTREE。`COMMENT`可以添加对索引的描述。此外,可以使用`ALTER...
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。 索引分...
- **索引长度**:过长的字段作为索引会导致索引占用过多空间,降低效率。 - **主键选择**:通常推荐使用自增整数作为主键,因为这样可以保持索引的紧凑性,利于查询。 - **索引选择性**:索引的选择性越高,查询效率...
- 索引列长度有限制,InnoDB中索引列最大200个字符。 - 选择性高且经常被查询的列优先考虑作为索引。 - 联合索引中,选择性高的列放在前面,小的列也优先,以提高查询效率。 **建立索引策略:** - 根据业务需求和...