相关疑难解决方法(0)

MySQL VARCHAR 大小的性能影响

在 MySQL 中 varchar 大小之间是否存在性能差异?例如,varchar(25)varchar(64000)。如果没有,是否有理由不声明所有具有最大大小的 varchars 以确保您不会用完空间?

mysql performance datatypes varchar

55
推荐指数
6
解决办法
3万
查看次数

varchar 列的长度 - 使用 255 有优势吗?

我经常遇到列是varchar(255),所以大概这是各种约定。255 是 2^8 - 1。那么 2^n - 1 的长度有什么“神奇”之处吗?或者只是专门255?某些特定varchar长度是否有性能或存储优化优势?或者这只是不再适用于当前版本的 MariaDB 和 MySQL 的旧智慧?

mysql mariadb

11
推荐指数
2
解决办法
8441
查看次数

MariaDB 10.1.38 - 指定的键太长;最大密钥长度为 767 字节

我有一个包含 3 列的表:

id(int 11)  | user_id(int 4) | title(varchar 512) 
____________|________________|___________________
     1      |        3       | Thing X
     2      |        3       | Something Else
     3      |        5       | Thing X
Run Code Online (Sandbox Code Playgroud)

我需要在user_id和之间进行独特的组合title。为此,我正在使用这个简单的查询:

ALTER TABLE posts ADD UNIQUE `unique_post`(`user_id`, `title`)
Run Code Online (Sandbox Code Playgroud)

title列的字符集是utf8mb4_unicode_ci. 数据库是使用字符集创建的utf8mb4

CREATE DATABASE learning_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

表类型是InnoDB.

我试图设置一些全局变量:

SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=on;
SET GLOBAL innodb_large_prefix=on;
Run Code Online (Sandbox Code Playgroud)

但我遇到了同样的错误1071

Specified key was too long; max …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb index

10
推荐指数
1
解决办法
2万
查看次数

如何解决:指定的key太长;最大密钥长度为 767 字节

我们的服务器正在创建很多表,其中之一就是表Lock_

我们在 Percona 上使用 MySQL 5.5。我们还使用utf8_general_ciutf8

在表上创建以下索引时会抛出以下错误Lock_

ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
Run Code Online (Sandbox Code Playgroud)

这是创建表查询:

create table Lock_ (
    uuid_ VARCHAR(75) null,
    lockId LONG not null primary key,
    companyId LONG,
    userId LONG,
    userName VARCHAR(75) null,
    createDate DATE null,
    className VARCHAR(75) null,
    key_ VARCHAR(200) null,
    owner VARCHAR(255) null,
    inheritable BOOLEAN,
    expirationDate DATE null
);
Run Code Online (Sandbox Code Playgroud)

索引查询:

create unique index IX_DD635956 on Lock_ (className, key_, owner);
Run Code Online (Sandbox Code Playgroud)

这个问题发生在我们的一台产品服务器上(之前是独立的 mysql,后来转移到 …

mysql index percona mysql-5.5

5
推荐指数
1
解决办法
7万
查看次数

标签 统计

mysql ×4

index ×2

mariadb ×2

datatypes ×1

mysql-5.5 ×1

percona ×1

performance ×1

varchar ×1