游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

我的MySQL经验之谈

  昨天有个朋友私信问我关于MySQL在实际企业中的运用以及要注意哪些问题,今天我来输出一下。表结构设计1。主键
  在实际项目中,主键id推荐使用数据库自增ID(类型为bigint)和雪花算法生成的随机ID。
  业务量小,采用自增ID;业务量大,推荐采用雪花算法。
  使用自增id的缺点:
  1、自增id如果暴露,容易被人发现规律
  2、对于高并发的情况下,innodb引擎在按主键进行插入的时候会造成明显的锁争用,主键的上界会成为争抢的热点。
  3、单表数据量达到一定程度后要分库分表,导致ID重复,解决起来比较麻烦2。外键
  不要使用外键与其它表进行关联,避免高并发场景的性能问题
  1、外键是极影响并发性能的,因为当存在外键约束的时候,MySQL会进行即时检查,每次insert和update都要要去扫描此记录是否满足
  2、耦合度高,后期很难进行分库分表3。合适的字段类型和长度
  数据库的资源是很宝贵的,合适的字段类型和长度,不但节约数据库表空间和节约索引存储空间,更重要的是提升检索速度
  1、对于固定长度的坚决使用chartiyint等类型
  2、对于不固定长度但是确定了总长度的使用varchar类型
  3、不要用varcharchar存储长字符串,直接用text。并且让长字符串拆分到另一个表,保持主表尽量瘦小4。字段冗余
  允许适当冗余其他表的字段,以提高查询性能,但必须考虑数据一致而且不要冗余过长的字段5。字段默认值
  避免将字段默认值设为null
  对MySQL来说,会使得索引、索引统计和值的比较都更加复杂NULL会参与字段比较,所以对效率有一部分影响,比如!,等索引设计1。覆盖索引
  对于count和group场景,请使用覆盖索引,提高查询性能。
  索引就像是一本书的目录,如果查询的内容都只和目录上的内容有关,那mysql只要扫描索引结构就能得到查询结果,比如我给student表增加了个索引:ALTERTABLEstudentADDINDEXindexname(name,gender);
  用到索引覆盖的sql语句:selectname,genderfromstudent;selectname,genderfromstudentwherename川普andgender1;selectname,genderfromstudentgroupbyname,gender;selectname,gender,count(1)fromstudentgroupbyname,gender;selectnamefromstudentgroupbyname;selectname,count(1)fromstudentgroupbyname;2。复合索引
  设计索引的时候尽量使用复合索引,并将区分度高的字段放在前面
  那么什么是区分度高的字段呢?
  执行如下语句,假设查询结果为0。9,0。1,1000,可以看到name列的选择性最高,因此将其作为联合索引的第一列,即建立(name,gender)的联合索引selectcount(distinctname)count(),count(distinctgender)count(),count()fromstudent
  根据索引最左匹配原则,能够触发这个联合索引的sql语句是:selectname,genderfromstudentwherename川普andgender1selectname,genderfromstudentwheregender1andname川普;selectname,genderfromstudentwherename川普;selectname,genderfromstudentwhereage18name川普;3。索引失效
  以下几个操作会引起索引失效:
  1。在索引列上做计算、函数、转换类型等操作
  2。违反最左匹配原则
  3。like以通配符开头(例如:川普)
  4。防止隐式转换,比如:索引的字段为字符串类型,查询的时候不加单引号(name为vachar类型,查询的时候wherename1)
  5。or连接,等等。。4。唯一索引
  对于需要保证表中唯一的字段,即使在应用层做了校验,也必须建立唯一索引
  注意:在性能上,唯一索引在查询时的性能要比非聚集索引高,但是在插入与更新时要比非聚集索引低5。长字符索引
  在长度较长的字段上建立索引时,必须指定索引长度,没必要对全字段建立索引
  索引的长度与区分度是一对矛盾体,一般对于字符串类型的字段,设置索引的长度为20,区分度会高达90以上,可以使用以下sql来确定区分度:selectcount(distinctleft(列名,索引长度))count()from表名语句设计1。逻辑删除
  大多时候,删除操作应该采用逻辑删除,不能物理删除。我们必须承认数据是无价之宝,在很多时候,数据的价值是远远高于人工成本的。
  正式环境的数据库账号往往是没有delete权限的,避免误操作,删库跑路等等
  并且update操作比delete性能高2。in的使用
  虽然in的数量MySQL并没有做具体的限制,但对整个SQL语句的长度做了限制。不要进行in大量数据集合的操作,若实在无法避免,可以分批次查询,一次in一定数量集。3。innerjoin的使用
  当我们使用关联查询的时候,用小表驱动大表的方式效率会提升很多。而innerjoin会自动地进行小表驱动大表的优化4。触发器和存储过程
  避免使用触发器和存储过程,难以调试和扩展不说,更是没有可移植性,这些边缘功能最好不用。5。count
  mysql5。7对count()进行了优化
  所以现在count()和count(1)的执行效率是一样的。
  而count(字段)因为有sql解析的过程,不仅效率会慢,而且不会对null值进行统计6。避免大事务
  大事务就是运行的时间比较长,操作的数据比较多的事务大事务会影响数据库的性能,应当尽量把大事务拆成若干个小事务,禁止写过于复杂的sql语句,除了造成大事务不说,还会让别人头大,无法维护。
  目前能想到的就是这,欢迎补充

黑客攻击币价下跌,PopsicleWault损失超2100万有虚拟货币以来,币圈就成为了黑客的提款机。交易所的实力差异很大,对系统安全的重视程度也不同,所以被黑客攻击的事件频频发生。8月4日,跨链收益率提升平台PopsicleFi……哪吒彭刚阿里王成文大公司高管就可以为所欲为?前有哪吒高管要给吴亦凡机会,后有阿里高管涉嫌性侵女员工,扯掉虚伪的价值观,里面尽是恶臭。出品探客财经一个是要借吴亦凡代言,让哪吒汽车出圈的360高管彭刚;一个是被女……春节入手的华为mate20(664),有没有必要系统升级?有必要,因为升级鸿蒙系统后,手机非常流畅。亲身体验mate10(464)升级鸿蒙一个月体验:1。同比充电,电池比以前使用时间更长!2。没升级前使用空间52G了……华为公布EMUI12全球版,将解锁全面升级,号称鸿蒙和安卓合近日,华为发布了EMUI12操作系统,它带来了多项新功能、UI设计和全新的用户体验,比EMUI11更好的性能。鸿蒙OS推出后,华为之前的EMUI似乎处于暂停状态,不过,华为全球……iPhone12Pro与iPhone11Pro对比不要等iP自iPhone问世以来,它改变了移动电话,经过多年的不断研发改进,从iPhone4到现在的iPhone12,苹果以独有的生态系统和强大的硬件在数码领域获得了巨大成就,并推出了许……麟先生谈币比特币ATM运营商成立反洗钱协会许多BTM运营商认为,仅仅要求提供手机号码就足以免除他们强制执行的KYC要求。美国的主要比特币(BTC)ATM运营商正在联手打击与比特币ATM相关的非法活动。比特币……有哪些实用的小众app?用起来惊艳到你,赶快码住这一期是极简app推荐,小众却好用,不含隐形消费。一起来看看吧!01英语语法详解功能推荐:语法学习顾名思义,这是一款英语语法大全app。它包括时态、语态、句子……只为给新机让路!曲面屏65W闪充,OPPO旗舰降至红米价众所周知OPPO手机向来并不以性价比著称,而是在外观设计等方面着手去吸引用户,线下市场一直有不错的表现,而它们除了旗舰的Find系列以外,还有一个Reno系列也是中高端的定位,……美国芯片没人要,快了?中国首台DUV光刻机完成认证近几年,中国科技企业,尤其是华为在5G、半导体等方面所取得的成就,让所有国人为之骄傲。但是,包括华为在内的科技巨头都无法忽略一个短板问题,那就是芯片技术对美国的依赖。比如PC方……你是因为什么原因放弃使用华为?用着挺好为什么要放弃?老子用的好好的,没放弃!带假设的问是何意图?有点良心的中国人,都不会轻易放弃华为,他代表了中国高科技企业的精神!为什么要放弃,mate4……HKCSG27C电竞屏体验144Hz刷新率,性价比高的游戏显HKC作为国内综合性很强的IT企业之一,在电子领域不断拓展和研发全新的电子产品,让大家能够享受高品质的电子产品,比如显示器,它在刷新率、变频技术以及显示模式等方面不断进步,提升……厨房净水器十大名牌纵观近几年净水器行业的发展,市场份额集中度开始向头部企业集中。在激烈的市场竞争下,模式及单品单一的品牌受到的影响最大,市场份额下滑厉害;纯低端的市场需求正在衰退。从市场渠道走向……
2021年发布的旗舰手机中,你最推荐的是哪一部?为什么?只说国产第一:小米12pro第二:一加10pro(今年不给力)第三:iqoo9pro第四:真我GT2pro按照性价比真我GT2pro第一,接下来看……好看的韩剧排行榜综合推荐30部好看且高分的韩剧韩国的娱乐业一直是发展在世界前列的,韩国电影也一定不在话下了,创作了众多优秀的影视作品,下面好看的韩剧排行榜30部介绍,综合整理了好看的韩国电视剧,一起去看看吧。第1部:……iOS15。4支持戴口罩解锁了!支付也能用无需AppleWa北京时间1月28日凌晨,苹果正式面向开发者推送了iOS15。4的最新测试版本,其中最大的更新就是支持戴口罩使用面容ID。与之前不同的是,苹果支持用户在没有AppleWatch时……中国元宇宙白皮书发布会在北京举行记者从中国科技新闻学会获悉,《中国元宇宙白皮书》(以下简称白皮书)发布会26日在北京举行。本次发布会是中国科技新闻学会拟举办的首届中国元宇宙科技传播大会的预热活动。白皮书……为什么这几年蓖麻的价格这么低,才1。80左右,未来前景如何?为什么这几年蓖麻的价格这么低,才1。80左右,未来前景如何?您好,科技农场为您解答。说起蓖麻,可能是咱们农村老一辈人的回忆了,小编有幸还见过几次,记得小编在小的时候……新能源汽车与燃油车的区别一、动力系统:燃油汽车有着发动机、变速箱以及一系列的附加配件;新能源则是靠电动机直接输出,电池组提供电能,固定齿比传动。所以在驾驶感受上能明显感觉到,燃油汽车的动力输出需要等待……雮尘珠为什么在献王墓?雮尘珠最后找到了吗?《鬼吹灯之龙岭迷窟》热播又惊现了一波追剧及讨论,关于雮尘珠你了解多少了,网上消息雮尘珠在献王墓?这是怎么回事?跟鬼吹灯之龙岭迷窟对不上啊!那么,雮尘珠为什么在献王墓?雮尘珠最后……李纯演的电视剧有哪些角色,李纯演过的角色(全部)李纯演过的角色(李纯演的电视剧有哪些角色)。李纯很多人并不陌生,出道至今出演了不少的角色,像《金陵十三钗》中的秦淮女,《花千骨》中的霓漫天,《如懿传》中的炩妃(卫嬿婉),《庆余……绿巨人是哪部电影的人物,绿巨人有几部电影绿巨人说出来很多人清楚,可他是哪部电影的人物,很多网友就想去了解一下有关的故事,看他是漫威电影中的人物,并在早期就起到很好的作用,不过后期还拍摄有续集的电影,但有的网友就不清楚……破案电视剧国产电视近两年最受欢迎的破案电视破案电视剧:国产电视近两年最受欢迎的破案电视我发现好多小伙伴都特别喜欢看悬疑推理破案类的影视,下面几部是近两年来最受欢迎的破案电视剧,喜欢的小伙伴赶紧收藏吧。盛唐幻……不说再见穆青是谁演的穆青的真实身份和结局遭爆料近日,电视剧《不说再见》颇受大家的关注,在这部剧中担任男主角穆青的演员是谁呢?穆青的真实身份是什么呢?穆青的结局又是怎么样的呢?穆青的真实身份和结局遭爆料,一起来看一下。……光芒什么时候定档,光芒演员表光芒说出很多人不清楚,可光芒电视剧是什么时候定档,很多网友就想去了解一下有关的故事,看光芒的剧情早期就放出剧照,让观众提早熟悉剧情,进行定档播出时会有好效果,但有的网友就不清楚……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网