search
HomeDatabaseMysql Tutorial总结MySQL建表、查询优化实用小技巧_MySQL

bitsCN.com

总结MySQL建表、查询优化实用小技巧

 

MySQL建表阶段是非常重要的一个环节,表结构的好坏、优劣直接影响着后续的管理维护,赶在明天上班前分享总结个人MySQL建表、MySQL查询优化积累的一些实用小技巧。

 

 

技巧一、数据表冗余记录添加时间与更新时间

 

 

我们用到的很多数据表大多情况下都会有表记录的“添加时间(add_time)”,我建议大家再新增一个记录“更新时间(update_time)”字段,在我的工作里需要为市场部、运营部等建立各种报表,而很多报表里的数据都是需要到大记录表里去查询的,如果直接查询大表的话,查询速度相当慢。那么,我们的解决办法就是建立各种数据快照,数据快照都是通过脚本定时跑的。假如,哪一天原始数据表出现了问题,那么快照数据也会有问题,这个时候我们的快照脚本就得重新跑一份修复好了的数据,这样有了update_time更新时间这个字段,我们就能很快定位记录更新的时间。

 

 

技巧二、不要抛弃insert ignore into与replace into

 

 

大家肯定写过一些脚本循环将记录插入到数据表,例如使用PHP脚本。如果期间的一条SQL插入失败,那么后续的插入将终止,你可以在脚本里绕过这个插入错误,一个好的办法是使用ignore关键字来屏蔽插入错误。如果,你的数据表里已经存在有将要插入的相同记录,那么这个时候就会产生插入报错,使用insert ignore into将绕开这个错误,继续下一条记录的插入。

 

 

如果你的表结构设计了唯一索引的话,那么使用replace into来更新你的数据表记录再好不过了,尤其是你在写一个脚本的时候,你就不需要在脚本里先查询数据表是否存在该条记录,如果存在,则更新;如果不存在则插入。你可以直接使用replace into,它会自动到数据表检测,如果在唯一索引字段存在该值,则会先删除该条记录,然后再插入新记录;如果唯一索引字段不存在该值,则直接插入数据表,简单且非常实用。

 

 

技巧三、给你的表建立唯一索引

 

 

很多情况下建立表唯一索引,能给我们省下很多麻烦事,想上面说的replace into就必须是有唯一索引,当然,很多人喜欢用到的自增主键ID尽管也是唯一索引,我建议是能在其他经常出现在where条件屁股后面的字段,并且值是唯一的话可以加个索引甚至唯一索引,查询速度将会提高很多。

 

 

说在最后:当然,insert ignore into与replace into大家要根据自己的需求来确定,不一定就适合你现在的需求;我只是提示大家还有这么些个实用的小知识大家可以灵活运用到项目里边。

bitsCN.com
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Java中的文件包含漏洞及其影响Java中的文件包含漏洞及其影响Aug 08, 2023 am 10:30 AM

Java是一种常用的编程语言,用于开发各种应用程序。然而,就像其他编程语言一样,Java也存在安全漏洞和风险。其中一个常见的漏洞是文件包含漏洞(FileInclusionVulnerability),本文将探讨文件包含漏洞的原理、影响以及如何防范这种漏洞。文件包含漏洞是指在程序中通过动态引入或包含其他文件的方式,但却没有对引入的文件做充分的验证和防护,从

数据稀缺对模型训练的影响问题数据稀缺对模型训练的影响问题Oct 08, 2023 pm 06:17 PM

数据稀缺对模型训练的影响问题,需要具体代码示例在机器学习和人工智能领域,数据是训练模型的核心要素之一。然而,现实中我们经常面临的一个问题是数据稀缺。数据稀缺指的是训练数据的量不足或标注数据的缺乏,这种情况下会对模型训练产生一定的影响。数据稀缺的问题主要体现在以下几个方面:过拟合:当训练数据量不够时,模型很容易出现过拟合的现象。过拟合是指模型过度适应训练数据,

Go语言开发小技巧:阿里云接口对接实践分享Go语言开发小技巧:阿里云接口对接实践分享Jul 05, 2023 pm 11:49 PM

Go语言开发小技巧:阿里云接口对接实践分享前言:现如今,云计算已经成为了企业信息化建设的核心技术之一,而阿里云作为国内知名的云计算服务提供商,拥有丰富的云产品和服务。本文将分享笔者在使用Go语言对接阿里云接口时的一些实践经验,并以代码示例的形式进行阐述。一、引入阿里云GoSDK在使用Go语言对接阿里云接口之前,首先我们需要引入相应的阿里云GoSDK,以便

解决Pyqt5安装报错的小技巧,帮助你事半功倍!解决Pyqt5安装报错的小技巧,帮助你事半功倍!Jan 04, 2024 pm 04:50 PM

PyQt5安装报错怎么办?这些小技巧让你事半功倍!PyQt5是一种Python编程语言中使用广泛的GUI(图形用户界面)工具包。它提供了许多强大的功能和工具,帮助开发人员创建交互式的和吸引人的应用程序。然而,在安装PyQt5时,有时会遇到一些报错。本文将介绍一些常见的PyQt5安装报错及解决方法,以帮助您顺利安装并使用PyQt5。常见报错一:找不到pip命令

MySQL中的数据表压缩技术MySQL中的数据表压缩技术Jun 16, 2023 am 08:16 AM

MySQL是一种常见的关系型数据库,是许多网站和应用程序的核心组件。随着数据量越来越大,如何优化MySQL的性能就变得尤为重要。其中一个关键领域是数据表的压缩,在本文中我们将介绍MySQL中的数据表压缩技术。压缩表和非压缩表MySQL中有两种类型的数据表:压缩表和非压缩表。非压缩表是MySQL默认的表类型,它使用固定长度的行格式,对数据进行存储。这意味着数据

矿卡对游戏有什么具体的影响?矿卡对游戏有什么具体的影响?Jan 03, 2024 am 09:05 AM

为了图便宜可能有些用户会考虑入手矿卡,这些卡毕竟是顶级的显卡,但是也有部分游戏玩家很担心矿卡打游戏有什么影响,下面就看看具体的介绍吧。矿卡打游戏有什么影响:1、矿卡打游戏没法保证稳定性,因为矿卡的寿命很短很可能玩玩就废了。2、矿卡基本上等于原版的阉割版,由于长期的损耗,各方面性能可能都弱了。3、这样用户在玩游戏的时候可能就不能将游戏的效果全部展示了。4、而且显卡的电子元件都会提前的老化,更何况打游戏也很消耗显卡,因此等于更大程度上的来将其榨干,因此对游戏的影响是很大的。5、总的来说,使用矿卡打游

华为手机使用小技巧「附:10个华为手机隐藏技巧」华为手机使用小技巧「附:10个华为手机隐藏技巧」Feb 07, 2024 am 08:40 AM

华为手机不仅颜值高、性能好,功能也很多,下面就给大家盘点一下,10个华为手机隐藏技巧,学会很实用,就连花粉也未必全知道。01.快速打开健康码在进入公共场所时,通常需要扫描场所码或查看健康码。幸运的是,鸿蒙系统支持在桌面添加健康码卡片,只需点击即可快速扫描并查看健康码与行程卡。操作方法:服务中心→长按健康码卡片→添加到桌面。02.桌面速记功能华为鸿蒙系统的速记功能,在桌面就能一键呼出“速记”窗口,无需手动记录,只需按下录音键,对着麦克风说出来,即可转换为文本。操作方法:备忘录→设置→速记→任意界面

ipv6网络无法访问的影响有哪些ipv6网络无法访问的影响有哪些Dec 31, 2023 pm 02:04 PM

有些用户发现电脑提示ipv6无网络访问权限,但自己也可以正常上网,因此有些用户不知道ipv6无网络访问权限有什么影响,现在就给大家介绍一下具体的情况。ipv6无网络访问权限有什么影响答:ipv6无网络访问权限没有什么影响。这个情况说明交换机或者是路由器对于IPV6协议是关闭的,但对于我们日常使用时没有什么影响的,而且一般的话也不需要开启这个。都是根据自己的需要来开启的。IPV6扩展阅读:1、IPV6是互联网协议第6版的缩写,是用来替代IPV4的下一代IP协议。2、IPV6的地址数量号称可以给沙子

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft