zoukankan      html  css  js  c++  java
  • MySQL数据库开发的三十六条军规应用(一)

    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倍,我的数据库中数据量是比较少的,应该是数据量越大耗时相差倍数就越多。

    回头查看了项目的代码,发现有许多的字符列用数字比较,需要修正并在以后的代码中谨记此条军规。

  • 相关阅读:
    Vue 路由组件
    编写第一个JavaScript程序
    JavaScript 介绍
    JavaScript
    前台数据库
    cookie
    js date string parse
    判断时间大小 yyyy-MM-dd 格式
    正则表达式替换
    测试计时器
  • 原文地址:https://www.cnblogs.com/crafter/p/2265102.html
Copyright © 2011-2022 走看看