小天天天天 数据库 999+ 2023-07-29 23:33:05
对于这个问题,通常能听到的答案是 使用了NULL值的列将会使索引失效,但是如果实际测试过一下,你就知道ISNULL会使用索引.所以上述说法有漏洞.前言Nullisaspecialconstraintofcolumns.Thecolumnsintablewillbeaddednullconstrainifyoudonotdefinethecolumnwith“notnull”keywordsexplicitlywhencreat
小天天天天 数据库 999+ 2023-04-13 14:57:09
这篇文章主要介绍了mysql中怎么设置大小写不敏感的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql中怎么设置大小写不敏感文章都会有所收获,下面我们一起来看看吧。mysql设置大小写不敏感1.原理与参数mysql大小写敏感配置与两个参数相关:lower_case_file_systemlower_case_table_names查看当前mysql的大小写敏感配置showglobalvariablesl
小天天天天 数据库 935 2023-03-27 17:58:02
1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merge数据。2.子查询就更别用了,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程。3.如果是JOIN的话,它是走嵌套查询的。小表驱动大表,且通过索引字段进行关联。如果
小天天天天 数据库 999+ 2023-03-27 10:48:51
在项目里面,多多少少都隐藏着一些执行比较慢的SQL,不同的开发测试人员在平时使用的过程中多多少少都能够遇到,但是无法立马有时间去排查解决。那么如果有一个文件能够将这些使用过程中比较慢的SQL记录下来,定期去分析排查,那该多美好啊。这种情况MySQL也替我们想到了,它提供了SQL慢查询的日志,本文就分享下如何使用吧。什么是慢查询日志?MySQL的慢询日志,提供了记录在MySQL中响应时间超过指定阈值语句的功能,比如设定阈值为3秒,那么任何
小天天天天 数据库 999+ 2023-03-06 17:20:41
在作数据库设计时,偶然疏忽将一个对象的ID设成了int(1)的数据类型,系统跑了一段时间,ID都涨到几万了,竟然没出现问题,在作设计review的时候才发现这个问题。还真是奇怪,int(1)的逻辑跟varchar(1)的逻辑不同吗???分析:对于int型,永远须要占用4个字节,默认就是11位;而指定的长度称做显示宽度,mysql中column定义中有个叫zerofill的属性,当该属性设置为true时,则int型后面的长度就起做用了。当
小天天天天 数据库 918 2022-12-07 22:37:38
什么是事务?用MySQL官方的一句话来描述事务是什么?MySQL事务主要用于处理操作量大,复杂度高的数据。那何为数据量大?何为复杂度高呢?我用我自己的理解来描述一下吧。事务其实就是MySQL中处理数据的一种方式,主要用在数据完整性高,数据之间依赖性大的情况下的一种数据处理方式。举个例子,小张向小李的银行卡打200块钱,在小张点击了确认转账的按钮时,系统突然崩溃了。会出现这样几中不正确的情况:1.小张的钱打到小李的账户上,但是自己的账户上
小天天天天 数据库 999+ 2022-12-04 23:52:09
恢复数据的重要命令如下MySQL>flushlogs;默认的日志是mysql-bin.000001现在刷新了重新开启一个就多了一个mysql-bin.000002使用以下命令来查看或恢复binlog中的数据:[root@localhostbin]#./mysqlbinlog--no-defaults../var/mysql-bin.000001|more//查看bin-log日志的内容[root@localhostbin]#./
小天天天天 数据库 999+ 2022-12-04 00:06:56
微信昵称中带有emoji表情存入数据表时,显示为乱码。处理方法如下:步骤一:数据库1、设置数据表默认字符集为utf8mb4设置存放带emoji表情的字段的字符集步骤二:代码设置数据库编码(下图为TP5,database.php内)
小天天天天 PHP 999+ 2022-04-28 15:35:27
laravel 查询之大小写敏感其实和laravel无关,只需在MySQL执行:ALTERTABLE'表名'CONVERTTOCHARACTERSETutf8COLLATEutf8_bin;如果是数据迁移:Schema::create('info',function(Blueprint$table){$table->increments('id');$table->charset='utf8';$table
小天天天天 数据库 999+ 2020-10-21 21:36:23
在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。--实际SQL,查找
小天天天天 数据库 999+ 2020-10-21 21:33:42
为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。什么是分表?分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可以称为子表,每个表都对应三个文件,MYD数据文件,.
小天天天天 数据库 999+ 2020-10-21 21:22:46
1、主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群架构的基础。它通过将一台主机的数据复制到其他一台或多台主机上,并重新应用relaylog中的SQL语句来实现复制功能。MySQL支持单向、双向、链式级联、异步复制,5.5版本之后加入的半同步复制,5.6版本之后的GTID复制,MySQL5.7的多源复制、并行复制、loss-less复制。 1.1常见的几种主从架构 1)单向主从模式:M
小天天天天 数据库 999+ 2020-04-24 00:36:19
1、为什么一定要设一个主键?2、你们主键是用自增还是UUID?3、自增主机用完了怎么办?4、主键为什么不推荐有业务含义?5、货币字段用什么类型??6、时间字段用什么类型?7、为什么不直接存储图片、音频、视频等大容量内容?8、表中有大字段X(例如:text类型),且字段X不会经常更新,以读为主,那么是拆成子表好?还是放一起好?9、字段为什么要定义为NOTNULL?10、where执行顺序是怎样的11、应该在这些列上创建索引?12、mysq
小滴 PHP 999+ 2019-11-02 23:18:51
如果你家店里某商品库存只有100件,现在店庆活动5折优惠大酬宾,假如现在有200个人疯狂涌入你家店里,为了避免发生疯抢和踩踏事件发生,店长您采取了排队限购的办法,1人限购1件,排队先到先买,卖完为止。这个是实体店我们会看到的场景,100件商品,1人1件,最后200人中只有100人能买到商品,剩下100人只能空手而归。如果您开了家网店,同样你开起了秒杀的活动,可能同时会有1000人通过不同的终端访问你的商品秒杀活动页面,你的商品可以会在瞬
小天天天天 数据库 999+ 2018-05-17 11:54:49
MySQL分表分区是解决大数据量导致MySQL性能低下的两种方法。什么是MySQL分表从表面意思上看,MySQL分表就是将一个表分成多个表,数据和数据结构都有可能会变。MySQL分表分为垂直分表和水平分表。1、垂直分表垂直分表是按表中的字段来划分的,如下图所示。MySQL分表分区是解决大数据量导致MySQL性能低下的两种方法。什么是MySQL分表从表面意思上看,MySQL分表就是将一个表分成多个表,数据和数据结构都有可能会变。MySQL
小天天天天 PHP 999+ 2018-05-11 10:17:46
经常与MySQL打交道,难免要进行数据库的导入和导出操作,平时你是使用命令操作还是使用工具操作呢?以及数据库自动备份与恢复等容灾措施你都做了吗?本文将简要给大家讲解。导入MySQL数据库方法1:使用mysql命令导入数据库执行命令:/usr/local/mysql/bin/mysql-u用户名-p数据库名<文件名.sql注意,导入的数据库名必须存在,如果不存在的话先要手动创建数据库或者将创建数据库的代码写在sql文件里。例如,以
网站文章数:483
今日UV/PV/IP:1/1/1
昨日UV/PV/IP:25/31 /25