问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据库查询select*from跟select内容from表,如何区分在什么情况使用

发布网友 发布时间:2022-04-16 03:21

我来回答

2个回答

懂视网 时间:2022-04-16 07:42

应用程序慢如牛,原因多多,可能是网络的原因、可能是系统架构的原因,还有可能是数据库的原因。

那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们也有莫大的关系。

程序中嵌入的一行行的SQL语句,如果使用了一些优化小技巧,定能达到事半功倍的效果。

技巧1 比较运算符能用 “=” 就不用 “<>”

“=”增加了索引的使用几率。

技巧2 明知只有一条查询结果,那请使用 “LIMIT 1”

“LIMIT 1”可以避免全表扫描,找到对应结果就不会再继续扫描了。

技巧3 为列选择合适的数据类型

能用TINYINT就不用SMALLINT,能用SMALLINT就不用INT,道理你懂的,磁盘和内存消耗越小越好嘛。

1.1 在MySql中如何定义像Java中类型的Boolean类型数据?其实,mysql中 是没有直接定义成Boolean这种数据类型,它只能        定义成 tinyint(1) ;当booean 等于1 代表true,boolean 等于2的时候代表false;

1.2 Long型数据对应MySQL数据库中 bigint 数据类型;

技巧4 将大的DELETE,UPDATE  or  INSERT 查询变成多个小查询

能写一个几十行、几百行的SQL语句是不是显得逼格很高?然而,为了达到更好的性能以及更好的数据控制,你可以将他们变成多个小查询。

技巧5  使用UNION ALL 代替 UNION,如果结果集允许重复的话

因为 UNION ALL 不去重,效率高于 UNION。

技巧6 为获得相同结果集的多次执行,请保持SQL语句前后一致

这样做的目的是为了充分利用查询缓冲。

比如根据地域和产品id查询产品价格,第一次使用了:

 

那么第二次同样的查询,请保持以上语句的一致性,比如不要将where语句里面的id和region位置调换顺序。

技巧7 尽量避免使用 “ SELECT  * ”

如果不查询表中所有的列,尽量避免使用 SELECT *,因为它会进行全表扫描,不能有效利用索引,增大了数据库服务器的负担,以及它与应用程序客户端之间的网络IO开销。

技巧8 WHERE 子句里面的列尽量被索引

只是“尽量”哦,并不是说所有的列。因地制宜,根据实际情况进行调整,因为有时索引太多也会降低性能。

技巧9 JOIN 子句里面的列尽量被索引

同样只是“尽量”哦,并不是说所有的列。

技巧10 ORDER BY 的列尽量被索引

ORDER BY的列如果被索引,性能也会更好。

技巧11 使用 LIMIT 实现分页逻辑

不仅提高了性能,同时减少了不必要的数据库和应用间的网络传输。

技巧12 使用 EXPLAIN 关键字去查看执行计划

EXPLAIN 可以检查索引使用情况以及扫描的行。

其他

SQL调优方法有很多种,同样的查询结果可以有很多种不同的查询方式。其实最好的方法就是在开发环境中用最贴近真实的数据集和硬件环境进行测试,然后再发布到生产环境中。

以上所述是小编给大家介绍的MySql Select *详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

  • MySQL数据库SELECT查询表达式解析
  • php操作mysql获取select 结果的几种方法
  • php mysql实现mysql_select_db选择数据库
  • MySQL使用select语句查询指定表中指定列(字段)的数据
  • mysql 导出select语句结果到excel文件遇到问题及解决方法
  • 用SELECT... INTO OUTFILE语句导出MySQL数据的教程
  • MySQL中表复制:create table like 与 create table as select
  • 10个mysql中select语句的简单用法
  • 热心网友 时间:2022-04-16 04:50

    除非你确实需要表中的每一个列,其实不太建议用SELECT *。你可以SHOW COLUMNS FROM 表;找到你需要的列再进行SELECT语句,这样检索和性能比较高。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    2023文科男生最吃香的专业 哪些专业好就业 在南京想找上海音乐学院的老师,怎么找? 荔枝核怎么服用-荔枝核煮水一般煮几颗合适 属虎适合什么名字2022年新生儿 有内涵热门名字精选 国内读研好,还是出国读研好 出国读研和国内读研哪个更好 在一个比例中,如果两个外项互为倒数。那么两个内向的什么是一?_百度知 ... 两个外项互为倒数,一个内向是8分之3,另一个内项是多少【怎样求出来... 在一个比例中,两个外向互为倒数,其中一个内项是8,另一个内项是_百度... 在比例中两个外项互为倒数,其中一个内向是2.75,另一个内项是多少_百度... select * 怎么才能和指定字段结合使用呢? SQL 中select 1和select *有什么区别 下列关于重力的说法,正确的是(  ) A.重力的大小可以用弹簧测力计直接测量 B.重力的方向是竖 重力的大小可以用弹簧秤或杆秤直接测出,这句话哪错了?请具体点,谢谢。 重力的大小可以用弹簧测力计或天平直接测出,这句话为什么错? 重力的方向总是指向地心重力的大小可以用弹簧秤和杠杆直接测量重力的施力物体 premier pro cs3上下滚动怎么弄?左右游动就有说明 但是滚动。。 还有预卷 缓入 缓出 后卷 什么意思?求教 PR里面如何让滚动字幕最后一帧停留一段时间 物体质量的大小可用什么来测量 物体质量的大小可用 什么 来测量 所受重力的大小可用 什么 来测量 重力的大小可以直接用什么测量 Adobe Premiere Pro CS3上下滚动字幕设置 请问Premiere pro CS3 字幕设置里的预卷,缓入,缓出,后卷要怎么设置? pagerank算法为什么收敛 是不是要压枪啊,那么飘,我去 绝地求生m4枪口哪个好 有用过鼠标宏的吗,我想买一个用,听说近战挺 老狼宏怎么弄? 老狼宏好用吗?用着方便吗? 谁吃鸡用老狼宏的过来解答下啊!!! 绝地求生用老狼宏会feng号吗? 大爱解一生肖 全天下最大的爱是体现那种动物身上,猜什么生肖 春秋大爱指的是什么动物? 大爱无私,人人敬仰的动物是什么生肖 全天下最大爱的动物,在十二生肖里面的哪个? 十二生肖中哪个动物最能体现大爱的? 十二生肖中哪个动大爱无私,人人敬仰 大爱无疆是什么生肖 “大爱无疆”打一生肖是什么生肖? 天生一对龙凤年大爱如潮蓝绿妙是什么生肖 天生一对龙凤午,大爱如潮蓝绿妙.打一生肖 母爱伟大,天性如此;喂哺孤雉,大爱无私!12肖里猜什么动物 天生一对龙凤午,大爱如潮蓝绿妙是指什么生肖 春秋大爱是什么动物? 天生一对龙凤午,大爱如潮蓝绿秒打一生肖 SELECT是选择显示的内容吗 请问java连数据库后,执行select * 后,调用什么方法得到各列的字符串?? select * 可以查到,但是select 字段 却查不出来是怎么回事? 3dmax渲染出来很多颗粒 3DMAX渲染出来的图颗粒感很强