- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 MySQL进阶:MySQL管理
mysqladmin是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前状态、创建并删除数据库等。mysqldump用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表及插入表的SQL语句。客户端查找工具,很快查找存在哪些数据库、数据库中的表、表中的列或者索引。数据导入工具,用来导入mysqldump加-T参数后导出的文本文件。-e 登陆后执行的SQL语句,执行完退出。-h 指定服务器ip地址或域名。二进制日志管理工具。
2023-06-19 14:52:45 63
原创 MySQL进阶:InnoDB引擎
对应ibd文件,用于存储记录、索引等数据。分为数据段(leaf node segment)、索引段(non-leaf node segment)、回滚段(rollback segment),InnoDB是索引组织表,数据段就是B+树的叶子节点,索引段即为B+树的非叶子节点。段用来管理多个区(Extent)。表空间的单元结构,每个区大小为1M。默认情况下,InnoDB引擎页大小为16K,即一个区中共有64个连续的页。是InnoDB引擎磁盘管理的最小单元,每个页的大小默认为16KB。
2023-06-19 14:52:12 78
原创 MySQL进阶:锁
全局锁是对整个数据库实例上锁,被上锁的数据库实例中所有表都成为只读状态。全局锁常用在数据库备份场景下,让所有表处于只读状态进行备份,从而维护数据一致性。存在问题:是一个比较重的操作读写分离?InnoDB引擎中,我们可以在备份时加上参数–single-transaction参数来完成不加锁的一致性数据备份。
2023-06-18 00:30:12 59
原创 MySQL进阶:SQL优化
插入多条数据,可以采用批量操作(不建议超过1000条, 500到1000是比较合适的)。超过的话,分成多条批量插入语句。手动提交事物, MySQL默认自动提交事物,会频繁开启事物并提交。主键顺序插入。顺序插入的性能高于乱序插入。(主键优化)大批量插入数据,不建议使用insert了,可以采用MySQL提供的load指令。load: 本地文件---->数据库load指令插入100万条数据16s,而用insert十多分钟。
2023-06-17 17:21:01 76
原创 MySQL进阶:索引
帮助数据库快速查询数据的。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JPgKp1Wt-1686921684599)(image-1.png)]
2023-06-16 21:22:01 33
原创 MySQL进阶:存储引擎
存储引擎决定存储数据、建立索引、查询/更新数据的机制,它是基于表的,而不是基于库,因此又称为表类型。create table([ . . . ]) ENGINE = INNODB [ 默认采用 INNODB ] show engines;查询当前数据库支持哪些存储引擎EngineSupportCommentXASavepointsYESNONONOCSVYESNONONOMRG_MYISAMYESNONONOBLACKHOLEYESNONONOMyISAM。
2023-06-16 21:20:43 48
原创 C++学习:线程安全的对象
竞态条件:C++的对象生命周期由程序员管理,当一个对象被多个线程同时看到时,对象被谁销毁,何时销毁不清楚。解决方法:shared_ptr.线程安全的类:1.多个线程同时访问时,其表现出正确的行为2.无论操作系统如何调度这些线程,无论这些线程执行顺序如何交织。3.调用端代码无须额外的同步和其他协调动作。C++标准库里的大多数类都不是线程安全的,包括string、vector、map等,多线程使用时要加锁。mutable修饰的成员变量,可以被常成员函数修改。
2023-06-15 15:05:36 227
原创 C++学习: 绑定器
find_if() 需要一元函数对象,而greater/less都是二元函数对象,因此需要将二元函数对象中的一个参数通过绑定器bind1st/bind2nd绑定到一个固定值。:C++11从boost引进的机制。:二元函数对象 ====》一元函数对象:绑定器底层是通过函数对象实现的。
2023-06-15 13:49:49 139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人