Home  >  Article  >  Database  >  MySQL数据库开发的三十六条军规应用(一)_MySQL

MySQL数据库开发的三十六条军规应用(一)_MySQL

WBOY
WBOYOriginal
2016-06-01 13:44:331214browse

bitsCN.com

slides地址:http://www.slideshare.net/mysqlops/mysql-9838563
同数据类型的列值比较
原则:数字对数字,字符对字符
数值列与字符类型比较
• 同时转换为又精度
• 进行对比
字符列与数字类型比较
• 字符列整列转数值
• 不会使用索引查询
slides 43页给出的实例为字符列与数值类型的比较,与同类型比较相比,前者耗时约为后者的28倍。
我自己测试的结果如下:
mysql> SELECT SUM(capital) FROM lend_inoutdetail WHERE rec_type='1' AND user_id=
319;
+--------------+
| SUM(capital) |
+--------------+
|   11942.5300 |
+--------------+
1 row in set (1.08 sec)

mysql> SELECT SUM(capital) FROM lend_inoutdetail WHERE rec_type=1 AND user_id=31
9;
+--------------+
| SUM(capital) |
+--------------+
|   11942.5300 |
+--------------+
1 row in set (5.30 sec)

mysql>
耗时约相差4倍,我的数据库中数据量是比较少的,应该是数据量越大耗时相差倍数就越多。
回头查看了项目的代码,发现有许多的字符列用数字比较,需要修正并在以后的代码中谨记此条军规

 摘自 才相遇反驳

bitsCN.com
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn