MySQL数据库开发的三十六条军规应用(一)_MySQL
程序员文章站
2022-06-15 19:28:25
...
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推荐阅读
-
MySQL 数据库查询数据,过滤重复数据保留一条数据---(MySQL中的row_number变相实现方法)
-
MySQL数据库开发的三十六条军规(转)
-
从mysql数据库取一条记录里的某个字段的值
-
为Web的应用打造一个精简版的MySQL数据库_MySQL
-
php开发_链接mysql数据库的一个类_PHP教程
-
MySQL数据库开发的三十六条军规应用(一)_MySQL
-
删除数据库表中某一字段相同的数据,并保留最新一条---Mysql
-
php开发_链接mysql数据库的一个类
-
mysql-php从数据库中读取某个表中的数据并在页面中一条条列出来,代码如下,数据库里有信息,显示不出来
-
MySQL数据库将多条记录的单个字段合并成一条记录_MySQL