mysql优化器_mysql优化-天天快消息

2023-02-20 18:39:18 来源:互联网 分享到:

你们好,最近小活发现有诸多的小伙伴们对于mysql优化器,mysql优化这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、在MySQL服务器上查询可以启用高速查询缓存。提高性能的最有效方法之一是让数据库引擎在后台安静地处理。当同一个查询执行多次时,如果从缓存中提取结果,是相当快的。

2、但主要问题是,它太容易被隐藏了,我们大多数程序员都会忽略它。在一些处理任务中,我们实际上可以阻止查询缓存工作。


(资料图)

3、1.//查询缓存不起作用

4、2.$ r=MySQL _ query(" SELECT username FROM user WHERE sign up _ date=CURDATE()");

5、3.

6、4.//查询缓存有效!

7、5.$ today=date(" Y-m-d ");

8、6.$ r=MySQL _ query(" SELECT username FROM user WHERE sign up _ date=" $ today " ");

9、7.

10、8.//查询缓存不起作用

11、9.$ r=MySQL _ query(" SELECT username FROM user WHERE sign up _ date=CURDATE()");

12、10.

13、11.//查询缓存有效!

14、12.$ today=date(" Y-m-d ");

15、13.$ r=MySQL _ query(" SELECT username FROM user WHERE sign up _ date=" $ today " ");

16、使用EXPLAIN关键字是另一种MySQL优化技术,可以让你知道MySQL在做什么样的查询操作,可以帮助你找到瓶颈,显示查询或表结构哪里错了。

17、EXPLAIN查询的结果可以告诉您哪些索引被引用,表是如何被扫描和排序的,等等。

18、实现一个选择查询(最好是带有连接的复杂查询),并在其中添加关键字解释。这里我们可以用phpMyAdmin,他会在表格里告诉你结果。例如,如果我在执行连接时忘记向索引中添加列,EXPLAIN可以帮助我找到问题。

19、在将索引添加到group_id字段之后。

20、有时候,当你想查一个表的时候,你知道你只需要看一行。您可能会找到一个非常独特的记录,或者只是检查现有记录的数量,它们都符合您的WHERE子句。

21、在这种情况下,添加限制1将使您的查询更有效。数据库引擎不会扫描整个表或索引,而是在只找到1时停止扫描。

22、1.//我有来自阿拉巴马的用户吗?

23、2.//不要做什么:

24、3.$ r=MySQL _ query(" SELECT * FROM user WHERE state=" Alabama " ");

25、4.if (mysql_num_rows($r) 0) {

26、5.//.

27、6.}

28、7.//好多了:

29、8.$ r=MySQL _ query(" SELECT 1 FROM user WHERE state=" Alabama " LIMIT 1 ");

30、9.if (mysql_num_rows($r) 0) {

31、10.//.

32、11.}

33、索引不仅是主键或唯一键。如果要搜索表中的任何列,应该始终指向索引。

34、如果您的应用程序包含多个连接查询,您需要确保您链接到的列在两个表中都有索引。这将影响MySQL优化内部连接操作的方式。

35、此外,添加的列必须属于同一类型。例如,如果同时在另一个表中添加一个DECIMAL列和一个int列,MySQL将无法使用至少一个指示器。即使字符编码必须是相同的字符串类型。

36、1.//寻找我所在州的公司

37、2.$r=mysql_query("从用户中选择公司名称

38、3.打开左加入公司(users.state=companies.state)

39、4.其中users . id=$ user _ id’);

40、5.

41、6.//两个状态列都应该被索引

42、7.//并且它们应该是相同的类型和字符编码

43、8.//或者MySQL可能会进行全表扫描

44、这是很多程序员新手都会陷入的陷阱。你可能无意识地创造了一种可怕的平静。这个陷阱是在您使用BY RAND()命令时创建的。

45、如果你真的需要随机显示你的结果,有很多更好的方法可以实现。诚然,这需要编写更多的代码,但它可以避免性能瓶颈。问题是MySQL可能会对表中每个独立的行执行BY RAND()命令(这会消耗处理器的处理能力),然后只返回一行给你。

46、1.//不要做什么:

47、2.$ r=MySQL _ query(" SELECT username FROM user ORDER BY RAND()LIMIT 1 ");

48、3.//好多了:

49、4.$ r=MySQL _ query(" SELECT count(*)FROM user ");

50、5.$ d=MySQL _ fetch _ row($ r);

51、6.$rand=mt_rand(0,$ d[0]-1);

52、7.

53、8.$r=mysql_query("从用户限制中选择用户名$rand,1 ");

54、从表中读取的数据越多,查询就越慢。它增加了操作磁盘所需的时间,或者当数据库服务器和WEB服务器独立时。你会经历很长的网络延迟,仅仅是因为数据在服务器之间不必要的传输。

55、总是指定您需要的列是一个非常好的习惯。

56、1.//不是首选

57、2.$ r=MySQL _ query(" SELECT * FROM user WHERE user _ id=1 ");

58、3.$ d=MySQL _ fetch _ assoc($ r);

59、4.echo "Welcome {$d["用户名"]} "

60、5.//更好:

61、6.$ r=MySQL _ query(" SELECT username FROM user WHERE user _ id=1 ");

62、7.$ d=MySQL _ fetch _ assoc($ r);

63、8.echo "Welcome {$d["用户名"]} "

64、9.//结果集越大,差异越明显

65、PROCEDURE ANALYSE()允许MySQL的列结构分析和表中的实际数据给你一些建议。如果您的表中已经有实际数据,它可以为您的重要决策服务。

66、准备好的报表可以从性能优化和安全性两个方面帮助大家。

67、默认情况下,预处理语句可以有效地保护应用程序,并在过滤绑定变量时防止SQL注入攻击。当然也可以手动过滤,但是由于大部分程序员的健忘,很难达到效果。

68、1.//创建准备好的语句

69、2.if($ stmt=$ mysqli-prepare(" SELECT username FROM user WHERE state=?")) {

70、3.//绑定参数

71、4.$stmt-bind_param("s "$ state);

72、5.//执行

73、6.$ stmt-execute();

74、7.//绑定结果变量

75、8.$ stmt-bind _ result($ username);

76、9.//获取值

77、10.$ stmt-fetch();

78、11.printf("%s来自%s\n "$username,$ state);

79、12.$ stmt-close();

80、13.}

81、许多程序员在创建VARCHAR(15)时没有意识到他们可以将IP地址存储为一个整数。当你有一个INT类型时,你只占用4个字节的空间,这是一个固定大小的字段。

82、您必须确保所操作的列是无符号整数类型,因为IP地址将使用32位无符号整数。

83、1.$ r=" UPDATE users SET IP=INET _ ATON(" { $ _ SERVER[" REMOTE _ ADDR "]} ")其中user _ id=$ user _ id "

84、这里介绍十大MySQL优化技术。

以上就是mysql优化这篇文章的一些介绍,希望对大家有所帮助。

mysql优化器_mysql优化-天天快消息

来源:互联网 2023-02-20 18:39:18

斯碧尔·谢波德_关于斯碧尔·谢波德简介

来源:互联网 2023-02-20 16:49:36

瓦格纳集团领导人:要到“3月或4月”才能拿下

来源:参考消息网 2023-02-20 14:46:37

福建农村信用社网上银行官网下载_福建农村信用社网上银行-环球即时

来源:互联网 2023-02-20 12:05:33

爱克股份股东户数减少26户,户均持股8.18万元

来源:东方财富Choice数据 2023-02-20 10:11:25

既能抑菌又抗病毒,三层复合材料制成新型防护服

来源:科技日报 2023-02-20 08:59:01

当前热议!nba米勒时刻_nba米勒时刻

来源:互联网 2023-02-20 06:11:41

舒梅切尔:德赫亚第180次零封追平纪录来自不易,但当之无愧

来源:直播吧 2023-02-20 01:04:32

焦点速递!六盘水师范学院2023年“思政课教师理论学习暨党的二十大精神融入思政课培训研讨班”正式开班

来源:天眼新闻 2023-02-19 21:01:13

卡萨与阿水一席对话再次带动热议,波一语惊人,rng逃出去-要闻速递

来源:果果爱吃鸡 2023-02-19 17:39:44

重药控股:目前经营新冠治疗药有奈玛特韦 阿兹夫定片 安巴韦单抗/罗米司韦单抗 连花清瘟胶囊等

来源:互联网 2023-02-19 14:42:21

环球讯息:风车动漫网为什么打不开_风车动漫网怎么进不去了

来源:元宇宙网 2023-02-19 11:47:07

解读梅赛德斯-奔驰集团2022财年业绩:强劲增长源于根基

来源:懂车帝 2023-02-19 08:56:48

若有来生十年之约_关于若有来生十年之约的简介

来源:互联网 2023-02-19 05:59:14

65岁赵本山在三亚养老!女儿晒千万豪车,用豪车运泡菜水

来源:甜欣美乐说 2023-02-19 01:02:07

土豆炖鸡的功效与禁忌_土豆炖鸡的功效与作用

来源:元宇宙网 2023-02-18 20:40:29

熏衣草研究所在线观看麻豆_熏衣草传说_每日关注

来源:互联网 2023-02-18 17:45:32

所有的生意终将死亡,唯有一种方式能赚钱|今日热门

来源:水木然 2023-02-18 15:20:28

每日热闻!高密霸榜百强县的原因找到了

来源:政信投资集团 2023-02-18 12:01:23

赞!火箭军战士休假期间冰窟救人

来源:中国火箭军 2023-02-18 09:59:47

世界今日报丨绿色能源保供给

来源:经济日报 2023-02-18 06:53:15

白鬼

来源:互联网 2023-02-18 02:56:30

FPX零封BLG拿到首胜,Khan天使降临,刘青松透露其“特殊癖好”

来源:游戏克格汪 2023-02-17 22:54:22

环球信息:【ASTRO】ASTRO——偏爱 ep02

来源:哔哩哔哩 2023-02-17 20:09:57

头条:读诗词—严维《丹阳送韦参军》

来源:哔哩哔哩 2023-02-17 18:12:06

环球热点!如何把照片背景变白底_改变照片背景颜色

来源:互联网 2023-02-17 16:41:05

全球热讯:2023年2月广州黄埔区消费券超市可以用吗?

来源:本地宝 2023-02-17 15:08:26

泉州欧乐堡海洋王国攻略_泉城欧乐堡海洋世界攻略

来源:元宇宙网 2023-02-17 12:54:51

中科院院士欧阳明高:碳酸锂价格今年下半年有望降至每吨35万-40万元

来源:同花顺7x24快讯 2023-02-17 10:48:22

最新:土耳其司法部长:已有245人被控涉嫌参与建造劣质建筑

来源:央视新闻客户端 2023-02-17 09:08:38

Copyright   2015-2022 南极知识产权网 版权所有  备案号:粤ICP备2022077823号-13   联系邮箱: 317 493 128@qq.com