From 92b7fa6f9c7c10ea572820bb0f83bc9a3b8c79aa Mon Sep 17 00:00:00 2001 From: HeyHL <1638242482@qq.com> Date: Wed, 25 Sep 2019 15:05:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E4=BA=8ESQL=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E4=B8=80=E7=82=B9=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SQL-optimization.assets/1569394400678.png | Bin 0 -> 10522 bytes .../SQL-optimization.assets/1569394544078.png | Bin 0 -> 16011 bytes .../SQL-optimization.assets/1569394649690.png | Bin 0 -> 15684 bytes docs/db/SQL-optimization.md | 40 ++++++++++++++++++ 4 files changed, 40 insertions(+) create mode 100644 docs/db/SQL-optimization.assets/1569394400678.png create mode 100644 docs/db/SQL-optimization.assets/1569394544078.png create mode 100644 docs/db/SQL-optimization.assets/1569394649690.png diff --git a/docs/db/SQL-optimization.assets/1569394400678.png b/docs/db/SQL-optimization.assets/1569394400678.png new file mode 100644 index 0000000000000000000000000000000000000000..ec033985e6331f2be7f2b86b3b0472e0a2a1de6e GIT binary patch literal 10522 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 literal 0 HcmV?d00001 diff --git a/docs/db/SQL-optimization.assets/1569394649690.png b/docs/db/SQL-optimization.assets/1569394649690.png new file mode 100644 index 0000000000000000000000000000000000000000..fda704b14f8747551ecfbe3af884f0d81991f8a5 GIT binary patch literal 15684 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 E0YROclK=n! literal 0 HcmV?d00001 diff --git a/docs/db/SQL-optimization.md b/docs/db/SQL-optimization.md index 73e6b456..8b2aff77 100644 --- a/docs/db/SQL-optimization.md +++ b/docs/db/SQL-optimization.md @@ -81,6 +81,46 @@ select name from user where telno=18722222222 select name from user where telno='18722222222' ``` +以上的情况仅限在数据库中的字段为字符型而SQL中为整型,也就是说`整型到字符型`的类型转换会导致索引失效,那反过来呢? + +1. 先建一张测试表 + +~~~mysql +CREATE TABLE `t_user` ( + `id` int(255) NOT NULL AUTO_INCREMENT, + `name` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL, + `user_no` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `idx_user_no` (`user_no`) USING BTREE +) ENGINE=InnoDB +~~~ + +2. 插入一些数据 + +![1569394400678](SQL-optimization.assets/1569394400678.png) + +3. 按整型查询肯定是没有问题的, + +~~~mysql +select * from t_user WHERE user_no=1819015; +~~~ + +结果图: + +![1569394544078](SQL-optimization.assets/1569394544078.png) + +4. 字符型到整型的类型转换, + +~~~mysql +select * from t_user WHERE user_no='1819015'; +~~~ + +可以看到也是没问题的 + +![1569394649690](SQL-optimization.assets/1569394649690.png) + + + ## 如果需要进行 join 的字段两表的字段类型要相同 不然也不会命中索引。 \ No newline at end of file