最近项目很忙,分给我的功能都比较复杂,还好能应付的下来。在工作的过程中,我发现使用mysql的自带函数能够极大的减少程序的复杂度。这是必然的,使用mysql的函数,能够在程序里面省却很多的循环遍历。但是网上有的专家说,在mysql里面使用数学以及字符串函数,会使得mysql的效率变慢,我想这是必然的。把本来是程序应该干的事情交给了mysql去干,mysql干的越多,那么效率就越低。

那么有没有可能找到一个平衡呢?不建议,因为有大神说mysql的函数效率低,就不使用。如果这样子的话,那么干脆连mysql数据库也不要使用了吧,比mysql成熟的数据库一抓一大把。但是为什么还要使用mysql呢?免费呀(现在不免费了),既要使用mysql的优点,也要尽量避免mysql效率低的坑。也就是在做系统的使用,要问清楚这个软件的运用范围。

如果是内部系统,都知道内部系统通常业务逻辑非常复杂,功能非常细致,但是访问量比较小,也就是并发量比较小。外部系统可能也许逻辑上没有内部系统这么复杂,但是访问量比较多,并发比较大。如果是访问量比较小的软件,就可以在系统里尽可能的使用mysql的自带函数,充分降低的程序的复杂度,也利于维护。如果是访问量大的程序就要尽可能的将计算好资源的逻辑放在程序里面跑,尽可能将服务端非机密的计算放在用户端去跑。让客户端负责计算,让程序段负责逻辑,让DB端只负责数据的存储。各司其职,各用所长。

总之不能因噎废食,不能因为别人的一句话,正好顺应了自己不想学习的懒惰之心。

mysql数学函数走起,先写一部分,以后慢慢补充。


1、format(x,y)  函数,功能是将一个数字x,保留y位小数,并且整数部分用逗号分隔千分位,小数部分进行四舍五入。

需要注意的是,一旦你的数据经过千分位分隔后,就会变成字符串。能够给阅读上提供比较好的体验,但是在计算上却造成很大的困扰,所以如果只是保留小数,不建议使用这个函数。

2、abs();  求一个数的绝对值;absolute

3、sqrt();求一个数的平方根。sqrt是sqruar(平方,矩形) ,root(根)的缩写。

4、mod(x,y)  x除数,y被除数。结束是余数。

5、ceil()  进一取整。

floor()舍一取整

这两个函数是镜子函数,比较有点意思。这两个函数并不进行四舍五入,比较强硬。

6、rand()  顾名思义,是用来生成随机数用的。

7、format 会自动进行千分位,下面我们来看看round函数,进行四舍五入。

8、truncate(x,y)  比较霸道,不管四舍五入,直接把x,的y位小数直接干掉。

9、sign() 返回当前结果得符号,如果是负数返回-1,如果是0 返回0 如果是正数,返回1.

10、power()  幂运算

MySQL好用的数学函数的更多相关文章

  1. MYSQL的基本函数 (数学函数)

    ABS(x)   返回x的绝对值 BIN(x)   返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x)   返回大于x的最小整数值 EXP(x)   返回值e(自然对数的底) ...

  2. MySQL 数学函数

    MySQL 数学函数 所有的数学函数在发生错误的情况下,均返回 NULL. -元减.改变参数的符号 mysql> SELECT - 2; -> -2 注意,如果这个操作符被用于一个 BIG ...

  3. MySql常用函数数学函数、加密函数等(转—收藏)

        MySql函数众多,这里只是列举了一部分常用的函数.   一.数学函数 ABS(x)                                         // 返回x的绝对值 BI ...

  4. MySQL 进阶4 SQL常见函数: 字符函数/数学函数/日期函数/流程控制函数(if/case)

    # 进阶4 SQL常见函数 分类: 1/单行函数: 字符函数: concat(),length(),ifnull(__,default) ,instr(), trim(),upper(),lower( ...

  5. mysql 函数 时间函数,数学函数,字符串函数,条件判断函数

    =========================================== mysql 相关函数 ============================================= ...

  6. MySql cmd下的学习笔记 —— 有关常用函数的介绍(数学函数,聚合函数等等)

    (一)数学函数 abs(x)              返回x的绝对值 bin(x)               返回x的二进制(oct返回八进制,hex返回十六进制) ceiling(x)      ...

  7. 转MYSQL学习(三) 函数

    这一节主要介绍MYSQL里的函数,MYSQL里的函数很多,我这里主要介绍MYSQL里有而SQLSERVER没有的函数 数学函数 1.求余函数MOD(X,Y) MOD(X,Y)返回x被y除后的余数,MO ...

  8. MySQL数据库—日期与时间函数

    一. 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为 ...

  9. mysql中的内置函数

    这里主要介绍mysql丰富的内置函数. 数学函数 数学函数相对比较简单,就是涉及一些数值的计算,这里列出数学函数的功能,仅个别给出实例. 函数 作 用 ABX(x) 返回x的绝对值 CEIL(X),C ...

随机推荐

  1. 树链剖分(+线段树)(codevs4633)

    type node=^link; link=record des:longint; next:node; end; type seg=record z,y,lc,rc,toadd,sum:longin ...

  2. MyBatis学习--高级映射

    简介 前面说过了简单的数据库查询和管理查询,在开发需求中有一些一对一.一对多和多对多的需求开发,如在开发购物车的时候,订单和用户是一对一,用户和订单是一对多,用户和商品是多对多.这些在Hibernat ...

  3. dblink连接的目标端 session不断的问题。

    来源于:http://blog.itpub.net/22782896/viewspace-676842/ 1.在使用了dblink的存储过程中,可以显示的手动关闭dblink连接,具体写法如下(测试存 ...

  4. iOS开发小技巧--自定义带有占位文字的TextView(两种方式)

    自定义控件注意或框架注意:自己暴露在外面的属性,一定要重写setter,保证外界与内部的交互性 一.方案一:通过drawRect:方法将文字画到textView中,监听文字改变用的是通知中心(代理也可 ...

  5. static 静态导包

    静态导入 ArrayUtils 类的 INDEX_NOT_FOUND 属性和 add 方法 import static org.apache.commons.lang3.ArrayUtils.INDE ...

  6. PyQt之布局&无边框&信号

    这个例子相对综合一些,包括qt的布局,实现无边框效果,无边框也就是没有了窗口的title栏,没有title栏就不能拖动了, 所以我们进一步讲如何实现拖动.通过这边文章你可以掌握qt的布局,窗口定制,重 ...

  7. Redis必须注意的慢查询问题

    今天解析服务在查询Redis的Set数据过程中抛出timeout exception,产生异常的方法是: db.SetMembers(key); 这个API返回结果是指定set内的所有kv对象: 解决 ...

  8. 关于selenium 3.0 + python 3.5中多层框架或窗口的定位driver.switch_to_frame()

    针对selenium3 中的窗口定位会自动划掉,不起作用 现在换成 driver.switch_to.frame()就会不报错了

  9. 【奶昔队ROUND#1】

    奶昔队Round #1 热身 (奶昔队不是真正的队,是群) CodeForces 435C Cardiogram 模拟,不过我做的时候不是模拟,是计算...(写了好久,还wa了几次),现在看了别人的代 ...

  10. ThinkPHP 3.2 Token表单令牌

    /home/conf/config.php 中配置 'TOKEN_ON'=>true, 'TOKEN_NAME'=>'__hash__', 'TOKEN_TYPE'=>'md5', ...