您的位置:

mysql做运算还是程序做运算(mysql算数运算)

本文目录一览:

数字技术是用mysql sum还是java计算哪个快

sum函数在数据库是number类型的,你的代码中可以使用任何装的下数字型都可以接收。如:sum的值小于java中int的最大值,你就可以用int接收;如果大于Int的最大值而小于double的最大值,你就可以用double。一般在程序设计时,如果不确定它的值范围,可以用long型接收。

mysql数据库可以进行怎样的数学运算

$sql="SELECT COUNT(*) AS count FROM mark WHERE hID = '$hid'";$result = mysql_fetch_array(mysql_query($sql));$count  = $result['count'];$count++;$numOfScore = $count;    

12    $count = mysql_result(mysql_query("SELECT COUNT(*) AS count FROM mark WHERE hID = $hid"),0);$numOfScore = $count + 1;

mysql不能分析数据吗

可以分析数据 ,像一些运算可以直接在Mysql里面操作,比如:底薪+奖金+绩效 等等分析 ,业务逻辑复杂的话,Mysql是不能做的,只能靠一些服务器端程序去操作

做逻辑运算时,写程序里好还是sql数据库里好

逻辑运算

时,写程序里好还是

sql数据库

里好

如果你的数据库服务比较繁忙,还是放到CS中处理较好。

数据库的任务主要是保存数据/查询数据

计算的事,能放在CS中尽量放到CS中。

MySQL高性能SQL注意事项简述

数据库作为应用开发中必不缺少的基础设施,其性能直接影响应用的整体运行速度。MySQL是目前最广泛使用的关系型数据库之一,对于开发人员写出性能良好的SQL是必备的基本技能之一。下面简单描述下编写SQL的注意事项。

编写高质量的SQL需要从以下几个方面注意,基本原则、表字段注意事项、索引使用注意事项、SQL注意事项。

基本原则

一、尽量不要在数据库里做运算。如果遇到运算尽可能在应用程序层进行计算。

二、控制数据库表数量、控制单表数据量、控制表的字段数。建议单库不要超过四百张表,建议单表字段不要超过五十个,建议单表的数据量不要超过一千万。

三、不要编写大SQL、不要使用大事务。SQL尽量写的简单点拒绝编写大SQL,可以将大SQL拆分成多个小SQL,在应用层聚合。大事务拆分成多个小事务,快速提交。

表字段注意事项

一、选择合适数值字段类型。能用小字段类型的就用小字段类型,如tinyint就比int(1)在表示小数据时合适。

二、能用数字表示就不要用字符。如可以用无符号INT存储IP而不是字符串表示。

三、避免使用NULL字段。原因NULL字段查询优化难,含NULL复合索引失效。

四、少用或拆分TEXT/BLOB字段。字段太大需要更多的空间,性能低下,如需使用拆分到单独表。

五、不要在表字段中存储图片。

索引使用注意事项

一、合理添加索引。索引添加太多会影响更新速度。能够使用复合索引的避免加多个单独索引。

二、字符字段建立前缀索引。

三、不在索引列做运算。索引列做运算会导致索引失效。

四、尽量不使用外建。

SQL类注意事项

一、 SQL语句尽可能简单。大SQL拆分成多个小SQL。

二、事务编写尽量短小。事务即开即用用完立即关闭。

三、尽量不要使用select *。只取需要的列。

四、改写OR为IN或者改写为UNION操作。OR在数据量大的时候性能低于IN。

五、避免NOT、!=、、NOT IN、NOT EXISTS、NOT LIKE等查询。

六、避免%前缀模糊查询。

七、能用UNION ALL不要用UNION。

八、GROUP BY中去除排序。自带排序。

九、同类型的字段做比较。字符类和字符类比较,数值类和数值类比较,不要混在一起比较。

十、尽量单表查询,尽量不要多表关联查询。多表关联查询可以拆分成单表查询在应用程序中聚合数据。

十一、复合索引的多列注意最左原则。

上述注意事项能避免很多性能低下的SQL,希望在开发过程中能引起注意。

数据库中的数据运算,有的SQL能实现,程序语言同样能实现,是用SQL运算?还是用程序语言?

一般来说,在sql端运算效率肯定是比程序运算要高的。

至于怎么选择是根据系统的特性而言的,假如应用程序非常庞大,或者业务逻辑相对复杂,又或者访问压力大,这时候,你如果将计算的工作放在服务端程序中,这会加大服务端的处理压力,从而影响到应用程序的性能。

这时候,你可以让数据库来分担运算压力,是个不错的选择。

同样的道理,如果你的应用程序的服务端压力不大,而数据库方面每时每刻都要处理和统计许多报表数据,那么用程序来完成某部分的运算也不错。

撇开性能问题,还有一点也要考虑到,数据运算肯定会跟业务逻辑耦合在一起的,如果处理数据不用担心性能问题,那么不妨在架构上做出一些考虑:尽量让业务逻辑集中在两端,要不在SQL的存储过程中,要不在程序的业务类中,这样显得各层之间耦合度更松,架构更为清晰、合理,便于维护和扩展。