惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
博客园_首页
W
WeLiveSecurity
S
Secure Thoughts
S
Security @ Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Hugging Face - Blog
Hugging Face - Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
H
Hacker News: Front Page
Project Zero
Project Zero
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
U
Unit 42
N
News and Events Feed by Topic
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
Forbes - Security
Forbes - Security
T
Tor Project blog
I
Intezer
B
Blog
F
Full Disclosure
Security Archives - TechRepublic
Security Archives - TechRepublic
F
Fortinet All Blogs
Schneier on Security
Schneier on Security
T
Threat Research - Cisco Blogs
AI
AI
Google DeepMind News
Google DeepMind News
L
LINUX DO - 最新话题
Cloudbric
Cloudbric
L
Lohrmann on Cybersecurity
WordPress大学
WordPress大学
博客园 - 聂微东
雷峰网
雷峰网
P
Privacy International News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
PCI Perspectives
PCI Perspectives
Y
Y Combinator Blog
Spread Privacy
Spread Privacy
Simon Willison's Weblog
Simon Willison's Weblog
罗磊的独立博客
Vercel News
Vercel News
A
Arctic Wolf
The Register - Security
The Register - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
H
Heimdal Security Blog
Know Your Adversary
Know Your Adversary
P
Proofpoint News Feed
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed

博客园 - 早上六点半遇见五月天

PHP 关于用判断is_resource函数判断 CURL 句柄,在 PHP 7.2+ 版本有一个重要变化! PHP curl 模拟GET请求接口报错HTTP Status 400 – Bad Request 问题 删除所有的php-fpm进程命令 利用Navicat premium实现将数据从Oracle导入到MySQL Mac版phpstorm 一次性折叠所有函数/方法的快捷键 Mac 多次killall php-fpm之后会php-fpm会自动启动 解决方法 PHP 常用的字符串函数 MySQL 表示日期的数据类型 同一局域网下Mac无法远程连接至win7报错:Unable to connect to remote PC. MySQL 支持的存储引擎 设计模式之单例模式 MySQL 数据定义语言(DDL) 设计模式的原则和法则 GoF的23种设计模式分类和功能 PHP 跨域之header Mac brew安装的php修改了php.ini之后如何重启php? PHP 文件上传之如何识别文件伪装?——PHP的fileinfo扩展可! PHP 超全局变量之$_FILES PHP 超全局变量之$GLOBALS
mysql 存储不过1000个中文选什么数据类型
早上六点半遇见五月天 · 2026-02-09 · via 博客园 - 早上六点半遇见五月天

针对1000个中文的最优选择 对于1000个中文,

首选 `VARCHAR(1000)`**,但需要重点关注字符集的设置(这是存储中文的关键),具体分析如下:

1、 核心选择:`VARCHAR(1000)` + `utf8mb4` 字符集 - **字符集必须选 `utf8mb4`**: MySQL 中的 `utf8` 是“阉割版”(仅支持3字节的UTF-8),无法存储部分生僻汉字或emoji;而 `utf8mb4` 是完整的UTF-8编码,支持所有中文(包括生僻字),每个中文字符占 **3-4字节**。

1000个中文用 `utf8mb4` 存储,最大占用约 4KB(1000×4字节),远低于 `VARCHAR` 的最大存储限制(65535字节),完全够用。

- **为什么不选其他类型**:

- `CHAR(1000)`:会固定占用 1000×4=4000字节(即使只存100个中文,也占满4000字节),极度浪费空间,完全没必要。

- `TEXT`:虽然能存,但1000个中文属于短文本,`TEXT` 作为大字段类型,查询效率低于 `VARCHAR`,且索引受限(只能建前缀索引),性价比远不如 `VARCHAR`。 

2. 实操示例(针对中文优化) 创建表时,明确指定字符集为 `utf8mb4`,并设置 `VARCHAR(1000)` 存储中文:

CREATE TABLE chinese_content ( id INT PRIMARY KEY AUTO_INCREMENT, chinese_text VARCHAR(1000) NOT NULL COMMENT '存储1000个中文字符',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

  - 补充:`COLLATE=utf8mb4_unicode_ci` 是中文排序/比较的常用规则,确保中文检索、排序的准确性。

3. 常见误区澄清

- 误区1:“中文占2字节,要选 `VARCHAR(2000)`”—— 这是GBK编码的老思路,`utf8mb4` 下中文按“字符数”而非“字节数”定义长度,`VARCHAR(1000)` 就是指“1000个字符”(不管是中文、英文、数字),不是1000字节。

- 误区2:“1000个中文要用TEXT”—— TEXT的设计目标是存储超长文本(如万字以上),1000个中文属于短文本,用VARCHAR性能和易用性都更好。 ###

总结:

1. 存储1000个中文,**最优组合是 `VARCHAR(1000)` + `utf8mb4` 字符集**,兼顾空间、性能和兼容性。

2. 字符集必须选 `utf8mb4`,避免 `utf8` 导致部分中文无法存储的问题。

3. 无需使用 `CHAR` 或 `TEXT` 类型,前者浪费空间,后者性能和索引受限。