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

Mysql为什么不建议使

发布网友 发布时间:2022-04-09 13:01

我来回答

2个回答

懂视网 时间:2022-04-09 17:23

DROP TABLE IF EXISTS `w1`; 2 CREATE TABLE `w1` ( 3 `waid` int(11) NOT NULL AUTO_INCREMENT, 4 `wa1` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL, 5 `wa2` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL, 6 PRIMARY KEY (`waid`) 7 ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; 8 9 -- ---------------------------- 10 -- Records of w1 11 -- ---------------------------- 12 INSERT INTO `w1` VALUES (‘1‘, ‘w1-1‘, ‘1‘); 13 INSERT INTO `w1` VALUES (‘2‘, ‘w1-2‘, ‘2‘);
 1 DROP TABLE IF EXISTS `w2`;
 2 CREATE TABLE `w2` (
 3 `wbid` int(11) NOT NULL AUTO_INCREMENT,
 4 `wb1` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
 5 `wb2` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
 6 PRIMARY KEY (`wbid`)
 7 ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
 8 
 9 -- ----------------------------
10 -- Records of w2
11 -- ----------------------------
12 INSERT INTO `w2` VALUES (‘1‘, ‘w2-1‘, ‘2‘);
13 INSERT INTO `w2` VALUES (‘2‘, ‘w2-2‘, ‘2‘);

 

 1 SELECT * FROM w1 LEFT JOIN w2 ON w1.wa2=w2.wb2
 2 SELECT * FROM w1 LEFT JOIN w2 ON w2.wb2=w1.wa2
 3 
 4 SELECT * FROM w2 RIGHT JOIN w1 ON w1.wa2=w2.wb2
 5 SELECT * FROM w2 RIGHT JOIN w1 ON w2.wb2=w1.wa2
 6 
 7 
 8 SELECT * FROM w2 LEFT JOIN w1 ON w1.wa2=w2.wb2
 9 SELECT * FROM w2 LEFT JOIN w1 ON w2.wb2=w1.wa2
10 
11 SELECT * FROM w1 RIGHT JOIN w2 ON w1.wa2=w2.wb2
12 SELECT * FROM w1 RIGHT JOIN w2 ON w2.wb2=w1.wa2
13 
14 
15 SELECT * FROM w1 INNER JOIN w2 ON w1.wa2=w2.wb2
16 SELECT * FROM w1 INNER JOIN w2 ON w2.wb2=w1.wa2
17 SELECT * FROM w1 CROSS JOIN w2 ON w1.wa2=w2.wb2
18 SELECT * FROM w1 CROSS JOIN w2 ON w2.wb2=w1.wa2
19 
20 SELECT * FROM w2 INNER JOIN w1 ON w1.wa2=w2.wb2
21 SELECT * FROM w2 INNER JOIN w1 ON w2.wb2=w1.wa2
22 SELECT * FROM w2 CROSS JOIN w1 ON w1.wa2=w2.wb2
23 SELECT * FROM w2 CROSS JOIN w1 ON w2.wb2=w1.wa2

 

不要让mysql犹豫不决

标签:engine   select   key   sam   mysql   charset   utf8   efault   val   

热心网友 时间:2022-04-09 14:31

不建议使用join
让缓存的效率更高。许多应用程序可以方便地缓存单表查询对应的结果对象。如果关联中的某个表发生了变化,那么就无法使用查询缓存了,而拆分后,如果某个表很少改变,那么基于该表的查询就可以重复利用查询缓存结果了。
将查询分解后,执行单个查询可以减少锁的竞争。
在应用层做关联,可以更容易对数据库进行拆分,更容易做到高性能和可扩展。
查询本身效率也可能会有所提升。查询id集的时候,使用IN()代替关联查询,可以让MySQL按照ID顺序进行查询,这可能比随机的关联要更高效。
可以减少冗余记录的查询。在应用层做关联查询,意味着对于某条记录应用只需要查询一次,而在数据库中做关联查询,则可能需要重复地访问一部分数据。从这点看,这样的重构还可能会减少网络和内存的消艳。
更进一步,这样做相当于在应用中实现了哈希关联,而不是使用MySQL的嵌套循环关联。某些场景哈希关联的效率要高很多。
在很多场景下,通过重构查询将关联放到应用程序中将会更加高效,这样的场景有很多,比如:当应用能够方便地缓存单个查询的结果的时候、当可以将数据分布到不同的MySQL服务器上的时候、当能够使用IN()的方式代替关联查询的时候、当查询中使用同一个数据表的时候。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 廉政清风进校园的心得怎么写? 荣耀8Xmax怎么样 亚琴最后做了凌玲的保姆吗 关于关于学习廉政法规和纪律处分条例的心得体会 60老人晚年生活怎么样? 驾考无忧险下架了吗 顺丰同城回应骑士单日收入过万,具体是如何回应的? 家长去幼儿园接送孩子,哪些事情尽量不要做? 我在同程艺龙买的火车票连票怎么只出了短途票也扣款了? 无忧车管家服务质量如何? 手机卡的改绑定身份证能不能在手机上改? 工行信用卡结算清单,为什么有透支 请问我的账单生成日是14,距离还款日期还有22日,为什么会产生透支利息? 工行信用卡 怎么老是有透支利息 《你是人才吗》作文 女孩子说我真是个人才啊,我怎么回复她 当别人对你说真是个人才我要怎么回答 你真人才这句话什么意思? 你真是个人才是骂别人蠢的意思吗 帮我翻译成英语:你真是个“人才”! 十大健身教练培训学校排行榜到底哪个是真的? 健身培训机构排名哪家好? 2020年五星连珠哪一天 什么时候 健身教练培训学校排名是什么? 19 日晚「五星连珠」奇观现世,你有哪些浪漫的奇思妙想? 下一次五星连珠现象会在什么时候发生? 健身学院排行榜前十位都有哪些? 五星连珠什么时候? 九星连珠之日,人间灾难来临之时!为什么有这样的说法? 健身教练培训机构排名可信度是多高?有谁是按照排名找的学校吗? 世界五大知名预言家是谁?袁天罡预言2020五星连珠?我们该怎么做 2021五星连珠时间是什么时候? 什么是五星连珠? 五星连珠是怎样的现象? 笔记本电脑进入睡眠状态后再唤醒无法连接wifi,求大神解决! 五星连珠什么时候出现一次 五星连珠现象是怎么回事 邮箱怎么申请 邮箱怎样申请? 做梦梦见一个很大的池塘,水很清,有人在里面游泳,里面有不大的波浪