mysql
文章平均质量分 66
华尔街之猫
我不停地奔跑,只为了追上那个曾经被寄予厚望的自己!
展开
-
腾讯云 mysql 远程连接
腾讯云服务器 开发mysql远程连接原创 2022-11-12 09:52:40 · 441 阅读 · 0 评论 -
PHP 批量更新多个字段
有一张表users,存在字段id(主键)、name、age现需要一条sql批量更新不同的字段,也就是UPDATE `users` SET `name` = (CASE id WHEN '1' THEN '张三A' WHEN '3' THEN '王五A' WHEN '4' THEN '小明A' end), `age` = (CASE id WHEN '1' THEN '15' WHEN '3' THEN '16' WHEN '4' THEN '17' end) where id in(1,3,4)原创 2021-10-22 14:32:46 · 666 阅读 · 0 评论 -
mysql 进阶 几个重要知识点
1原创 2021-07-02 14:16:15 · 436 阅读 · 0 评论 -
Mysql 千万级表数据 导出导入
背景有:服务器A:有一张表A,单表1500万条数据(未来会更多)表占用的空间大小6G.服务器B:从服务器A把表A导过来,插入表B(服务器配置 2核8G)过程作为一个传统的有经验的老菜鸟,通过 mysqldump 命令整个表备份,上传到服务器B后再通过source命令还原,这条路首先放弃了。1、通过脚本,每次从表A查询1000条数据,插入表Bselect * from table_A limit 1000 offset 0;脚本写好了,耐心等待,两三个小时过去了,发现并没有多少数据导过来。一原创 2021-02-02 16:56:30 · 3402 阅读 · 2 评论 -
一口气搞懂MySQL索引所有知识点
一口气搞懂MySQL索引所有知识点转载于三太子敖丙https://mp.weixin.qq.com/s/faOaXRQM8p0kwseSHaMCbg保留文章做个备忘,三太子牛逼!前言国庆期间看了数据库的很多资料和书籍,这点我在总结的数据库文章里面也提过了,然后我发现我对索引的介绍不全,所以整理了一下自己的笔记,决定来个索引完整版,老规矩可能还是没我正常文章风格那么跳,但是干货一定也能让你有所收获。索引介绍索引是什么 官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗..转载 2021-01-06 17:54:05 · 287 阅读 · 0 评论 -
mysql 查询优化器并非万能
作为一个“出色“的mysql程序员,大家都知道mysql 建立了索引,会大幅度提升查询速度。mysql 查询优化器会自动选择最有的查询方案,但有时候mysql的选择其实不是最优的。现有一张zeng_order表,created_date字段和store_id字段建立了索引现有查询条件select count(*) as aggregate from `zeng_order` where `created_date` between '2020-12-23' and '2020-12-23'查询结原创 2020-12-23 11:48:49 · 252 阅读 · 0 评论 -
mysql find_in_set() 使用
mysql 中 find_in_set() 方法:有时候我们在设计数据库时有以下情况,如:在视频表中有个字段week, 他存储的是视频在周几播放,如某视频只在周1,4,6播放,那么week字段对应的值以 1,4,6 的格式存储那们我们要用sql查找所有视频中周4可以播放的视频 (这个时候不是用like能解决的,使用like可能查到我们不想要的记录)这时就需要 find_in_set()mysql手册中find_in_set函数的语法:FIND_IN_SET(str,strlist)原创 2020-11-16 15:43:24 · 369 阅读 · 0 评论 -
mysql 深入 细节记录
mysql 区是由连续页组成的空间,在任何情况下每个区的大小都是1MB。为了保证区中页的连续性,INNODB存储引擎一次从磁盘申请4 - 5 个区。在默认情况下,INNODB存储引擎页的大小为16KB,即一个区一共有64个连续的页。...原创 2020-10-20 18:33:09 · 331 阅读 · 0 评论 -
mysql 字段值分布很少的字段要不要加索引
在我还是个mysql新手的时候,看到有的同事给字段值分布很少的字段也加索引。例如:订单状态字段只有6个值:0 待确认,1 已确认,2 已收货,3 已取消,4 已完成,5 已作废在我理解mysql B+tree的原理后,很有必要去实战这种情况到底有没有必要加索引。建立相关表数据建立带索引的表DROP TABLE if EXISTS `bool_index`;CREATE TABLE `bool_index` ( `id` INT (11) NOT NULL AUTO_INCRE...原创 2020-09-15 15:52:38 · 9070 阅读 · 12 评论 -
mysql索引实战
https://www.cnblogs.com/nickchen121/archive/2019/07/09/11155947.html原创 2020-08-25 17:36:49 · 137 阅读 · 0 评论 -
MySQL索引-B+树(看完你就明白了)
索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三种数据结转载 2020-08-25 15:27:35 · 3430 阅读 · 1 评论 -
InnoDB一棵B+树可以存放多少行数据?
一个问题?InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。在计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是512字节,而文件系统(例如XFS/EXT4)他的最小单元是块,一个块的大小是4k,而对于我们的InnoDB存储引擎也有自己的最小储存单元——页(Page.转载 2020-08-24 15:53:19 · 205 阅读 · 0 评论 -
深入理解 Mysql 索引底层原理
Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。我们知道,索引的作用是做数据的快速检索,而快速检索的实现的本质是数据结构。通过不同数据结构的选择,实现各种数据快速检索。在数据库中,高效的查找算法是非常重要的,因为数据库中存储了大量数据,一个高效的索引能节省巨大的时间。比如下面这个数据表,如果 Mysql 没有实现索引算法,那么查找 id=7 这个数据,那么只能采取暴力顺序遍历转载 2020-08-23 22:19:14 · 122 阅读 · 0 评论 -
深入理解 mysql 索引 原理
索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是糟糕的,好在计算机科学的发展提供了很多更优秀的查找算法,例如二分查找(binary search)、二叉树查找(转载 2020-08-23 18:43:12 · 1035 阅读 · 1 评论 -
58到家数据库30条军规解读
一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高(2)必须使用UTF8字符集解读:万国码,无需转码,无乱码风险,节省空间(3)数据表、数据字段必须加入中文注释解读:N年后谁tm知道这个r1,r2,r3字段是干嘛的(4)禁止使用存储过程、视图、触发器、Event解读:高并发大...转载 2019-12-09 18:09:23 · 230 阅读 · 0 评论 -
mysql获取插入数据的id
How to Get the Unique ID for the Last Inserted RowIf you insert a record into a table that contains anAUTO_INCREMENTcolumn, you can obtain the value stored into that column by calling themysql_...转载 2019-05-06 00:20:55 · 2140 阅读 · 0 评论 -
启用mysql日志记录执行过的sql
在mysql命令行或者客户端管理工具中执行:SHOW VARIABLES LIKE "general_log%";结果:OFF说明没有开启日志记录分别执行开启日志以及日志路径和日志文件名SET GLOBAL general_log_file='/var/log/php-fpm/sql.log';SET GLOBAL general_log = 'ON';...原创 2019-06-11 12:05:07 · 147 阅读 · 0 评论 -
mysql联合索引深入
前言记住了mysql联合索引的最左匹配规则,自以为就了解了其原理,等到面试被问到细节问题才发现遗漏了些东西,这里自己整理一下这方面的内容。以下内容使用表底部users表为例,底部有表创建的sql最左前缀匹配原则在mysql建立联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配,示例:对列col1、col2、col3建一个联合索引alt...原创 2019-08-27 00:26:22 · 971 阅读 · 0 评论 -
mysql 使用记录
使用MySQL的图形界面管理工具Navicat for MySQL连接Mysql数据库时提示错误:Can't connect to MySQL server (10060)创建用户,不限制ip连接// 创建拥有CREATE USER 'username'@'%' IDENTIFIED BY 'a1054995637';// 不限制连接设备的ip GRANT ALL PRIVILEG...原创 2020-01-09 16:35:52 · 191 阅读 · 0 评论 -
mysql 条件判断
case有order_status表status有三种状态 ,1:未审核 2:已审核 3:已驳回select status,casewhen `status`=1 then '未审核'when `status`=2 then '已审核'else '默认' end as new_namefrom order_status;...原创 2019-09-15 21:24:58 · 4281 阅读 · 0 评论 -
mysql linux下数据库备份和还原
备份数据库mysqldump -u root -p database_name > /your-path/mysql_name_back.sql还原数据库source /your-path/back.sql原创 2019-04-14 23:35:14 · 325 阅读 · 0 评论