数据库
左左在右边
5年工作经验,C#全栈
展开
-
Orcle 快照恢复误删数据
orcle快照恢复原创 2023-03-07 15:36:12 · 227 阅读 · 0 评论 -
MySQL 索引报错:Specified key was too long
添加索引时候报错,是因为索引得支持是有限定长度得,例如varchar最大索引长度为767个字节。碰到这种情况,解决办法 1,数据库当初定的字段太大,改小就好了 2,优化业务sql,换别的字段查询,不要查询长文本,很慢得...原创 2022-03-14 13:24:05 · 1543 阅读 · 0 评论 -
drop、truncate、delete区别
最基本: 1) drop直接删掉表。 2) truncate删除表中数据,再插入时自增长id又从1开始。 3) delete删除表中数据,可以加where字句。 (1) DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在 日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独 的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触 发器。执行速度快。公众..原创 2022-01-10 14:28:27 · 77 阅读 · 0 评论 -
mysql----常用的索引
环境介绍:表tpi.cqca_userintegrationsummary,数据总共有'14738条。 使用explain关键字来估算受影响的行数进行优化。SELECT count(*) FROM tpi.cqca_userintegrationsummary1,没有任何索引检索的的行数 explain SELECT * FROM tpi.c...原创 2019-12-25 09:18:50 · 92 阅读 · 0 评论 -
图书高性能mysql学习笔记--事务
案例:当存在这样一个业务场景,使用20购物券买价格为100的东西,账户余额为200。 sql描述如下: 购物券20的变为已使用, 检查余额充足 账户余额变为120, 增加一张订单。很明显,我们的这些操作要么全部成功,要么全部失败,否则我们的数据就会...原创 2019-09-26 10:30:08 · 83 阅读 · 0 评论 -
图书高性能mysql学习笔记--储存引擎的修改
1,语句修改,更改表引擎的语句为:alert table mytable engine=InnoDB;这种非常耗资源2,导入和导出生成脚本,然后更改脚本的文件的引擎语句3,创建和查询语句: Create table innodb_table like myisam_table; alert table innodb_table ENGI...原创 2019-09-26 11:01:21 · 115 阅读 · 0 评论 -
图书高性能mysql学习笔记-数据库优化(字段设计原则篇)
数据库字段设计要获得更高的性能,遵循的几个原则: 更小的通常更好。由于更小的数据类型通常更快,因为它们占用最小的 磁盘、内存和缓存,并且处理时需要的cpu周期也更少。但是要确保没有嘀咕业务所需的存储的值的范围,毕竟系统上线了再改数据类型的范围,通常都以为着凌晨升级数据库...,数据量打了更是一件耗时的事情。 简单就好。简单数据类型的操作需要更好的cpu周期。例如,...原创 2019-09-30 13:48:36 · 228 阅读 · 0 评论 -
图书高性能mysql学习笔记--缓存表和汇总表
提高数据库性能的有效办法之一就是建立缓存表和汇总表。 汇总表的好处是统计变得简单,对需要频繁统计的表插入性能进行了大大的提高。当一个业务频繁的电商网站需要统计近24小时的订单总数时,建立定时任务,每小时统计订单数量插入到汇总表里,然后累加24小时的记录总和,这样对数据库的开销变得非常小,查询也变得简单。不好的之处是,统计得来的数据有一定延时性,如果非要实时统计订单数量,我...原创 2019-10-08 20:48:57 · 421 阅读 · 0 评论 -
图书高性能mysql学习笔记--索引的优点
索引能大幅度提升查询性能,大部分索引时指的b-tree。1,索引事扫描全表变得扫描部分。2,索引使随机排序变成顺寻排序 3,索引可以使服务器避免排序和临时表。当然对大多数小数据表,全表扫描时优于索引的,索引对于大型表的查询提升是有效的,但随之带来表插入速度的变慢等代价。对于某些业务可以使用分区技术来解决,例如日期是查询必不可少的条件。...原创 2019-10-10 21:08:17 · 113 阅读 · 0 评论 -
图书高性能mysql学习笔记--储存引擎
1,innodb引擎是mysql默认的事务引擎,也是最重要的和使用最广泛的。它被用来设计用来处理大量短期(short-lived)事务,短期事务大部分是正常的,很少会被回滚。 innodb 是支持热备份的,支持高并发(行级锁),并且有良好的崩溃自动恢复。 2,MYISAM是5.1版本之前的引擎,不支持行级锁和事务,崩溃后无法自动恢复,不建议在继续...原创 2019-09-25 15:51:37 · 117 阅读 · 0 评论 -
图书高性能mysql学习笔记--读写锁
当一行记录同时被更新和读取时,会发生什么是不可预估得,有可能是读取得是更新前的数据,也有肯能是之后的数据。mysql为了解决这个问题,采用一种解决方案:并发控制,具体实现一个由两种类型得锁组成的锁系统。这两种类型得锁同城被称为共享锁(share lock)和排他锁(exclusive lock),也叫读锁和写锁。 读锁,是共享的,多个线程可以同时读取同一个资源,且互不...原创 2019-09-25 10:48:30 · 118 阅读 · 0 评论 -
图书高性能mysql学习笔记---mysql架构图解
从图中来看,mysql架构分为三层: 第一层主要处理与客户端的通讯,大部分并写请求在这里会被加入队列。每个客户端这里都会拥有一个进程。客户端链接服务器需要认证,基于账号和密码。 第二层是缓存和sql语句解析器、优化器,另外,mysql得内置函数实现,如日期,功能例如视图等都在这一层。优化器得作用之一是:查询索引,还是遍历表。对于select得语句会先检查询缓存,如果能...原创 2019-09-25 10:31:01 · 183 阅读 · 0 评论 -
Mysql:常用的功能
mysql 默认时间类型采用 TIMESTMP 默认值 CURRENT_TIMESTAMP原创 2018-10-29 14:32:58 · 215 阅读 · 0 评论 -
Mysql-共享本机数据库
1,sql 语句赋予远程连接人员有操作权限.use mysql;GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;flush privileges;select host,user,password from user;2.window配置3306端口号允许远程连...原创 2018-10-26 13:54:24 · 250 阅读 · 0 评论 -
索引为什么能大幅度加快索引速度?---聚集索引
假设我们有这样一张商品表,字段为ID自增主键,分类,名称,详情,数据为100万条。里面有五个分类:衣服,零食,美妆,玩具和电子。 假入我们想搜索分类等于衣服并且名称包含羽绒服的数剧,我们的sql语句会是这样的: select * from 商品表 where 分类=‘衣服‘ and 名称 like '%羽绒服‘ 如果我们没建立分类索引...原创 2019-01-30 20:38:25 · 338 阅读 · 0 评论 -
MySQL 语句级避免重复插入—— Insert Where Not Exist
高并发得情况下,我们不想数据库产生多条相同数据得情况下,会理所当然得选择数据库乐观锁,查询一下是否存在,如果不存在,插入。 但是当存在多台服务器得时候,例如负载均衡,当一个客户端快速的重复的发起多次请求,这些请求分别被转发a,b两条服务器,这两台服务器再去使用查询一下是否存在,如果不存在,插入的逻辑,很显然会往库里存放两条一样的数据。 解决上述多服务器...原创 2019-02-27 14:48:45 · 7899 阅读 · 0 评论 -
mysql提高insert into 插入速度的3种方法
http://www.111cn.net/database/mysql/43315.htm 一般情况下mysql上百万数据读取和插入更新是没什么问题了,但到了上千万级就会出现很慢,下面我们来看mysql千万级数据库插入速度和读取速度的调整记录吧。 (1)提高数据库插入性能中心思想:尽量将数据一次性写入到Data File和减少数据库的checkpoint 操作。这次修改...转载 2019-02-27 14:00:00 · 2324 阅读 · 0 评论 -
解决mysql最大执行sql大小的问题:packets lager than max_allowed_packet are not allowed
执行sql:把最大值改成20Msetglobalmax_allowed_packet=2*1024*1024*10;关掉连接,重新打开,查看最大值是否showVARIABLESlike'%max_allowed_packet%'原创 2019-04-29 16:24:48 · 333 阅读 · 0 评论 -
使用mysql-8.0.16-winx64 ZIP Archive安装mysql
Windows (x86, 32-bit), ZIP Archive是免安装版的文件,下载后直接解压。我这里是直接解压到了D:/Programe Files 里面,解压后如图,注意我的data文件是自己创建的。安装步骤: 1,根目录(和bin文件同一级而不是里面,)创建my.ini文件,记事本打开,复制代码,保存 [mysql]# 设置mysql客户端默认字符...原创 2019-06-12 23:44:32 · 828 阅读 · 0 评论 -
sqlserver 多库查询
1,最近一个项目使用Sqlserver,使用sqlserver客户端自带得查询工具,即选择前1000行,生成得sql如下SELECT TOP 1000 * FROM [SLT].[dbo].[LR_Base_Company]其中 SLT是数据库名,dbo是表示数据库得表管理对象,LR_Base_Company是其中得一个表。测试,多库查询,新建一个数据库SLT2,新建一张表Tes...原创 2019-08-28 10:45:13 · 1036 阅读 · 0 评论 -
数据库个人理解的进阶之路
偶然和朋友聊到了最近的工作,她是一个db,现在专注于数据库业务,对未来的进阶方向没有任何的思路,恰好我最近面试,加之新公司自己研发了一个数据库,最近在学习这方面的东西,有了一些想法和体会。 我个人理解数据库方向应该分为四个阶段:入门、初级、中级、高级 1,入门阶段-学习阶段。这种失职还没有系统的学习一门数据库语言的同学,对数据库的语法、功能等等都没有...原创 2018-09-13 11:12:24 · 1767 阅读 · 0 评论