数据库
文章平均质量分 75
God-Hrh
记录学习笔记和工作经验。
展开
-
Mysql 常见DML sql 总结
工作常用sql原创 2022-09-14 21:07:18 · 333 阅读 · 0 评论 -
面试官:工作中用过锁么?说说乐观锁和悲观锁的优劣势和使用场景
并发场景下,有序地更新某条记录。乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。悲观锁:悲观锁在操作数据时比较悲观,认为别人会同时修改数据。因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其他人不能修改数据。乐观锁的实现方式主要有两种:CAS机制和版本号机制CAS:(Compare And Swap)CAS操作包括了3个操作数:操作逻辑如下:如果内存位置V的原创 2022-08-07 13:10:29 · 234 阅读 · 0 评论 -
数据库调优:Mysql索引对group by 排序的影响
通常情况下,rows用来表示在SQL执行过程中会被扫描的行数,该数值越大,意味着需要扫描的行数,相应的耗时更长。但是需要注意的是EXPLAIN中输出的rows只是一个估算值,如果数据分布有偏差,并且您声明查看具有不同分布结果的部分数据可能会偏离 10-100 倍甚至更多。建立索引的字段通常都是作为查询条件的字段(一般作为WHERE子句的条件),却容易忽略查询语句里包含order by的场景。目前单表总量是700W+,某货主下的SKU占比为240W+,在页面查询的时候出现慢查,返回前端超时,导致页面报错。..原创 2022-08-02 17:18:08 · 1109 阅读 · 0 评论 -
面试官:工作中遇到过主从延迟么?如何解决的?
主从架构带来好处的同时也带来一些问题,比如主从延迟问题。 影响 那么问题来了,数据一定写入成功的情况下,偶现的主从延迟应该如何解决呢? 解决 1.强制读主库 2.读数据时先sleep一下 3.原创 2022-02-19 14:29:06 · 2265 阅读 · 1 评论 -
面试官:你做过哪些Mysql优化?
书写优化一、用PreparedStatementPreparedStatement 一般来说比Statement性能高:一个sql 发给服务器去执行,涉及步骤:语法检查、语义分析, 编译,缓存二、避免外键约束有外键约束会影响插入和删除性能,如果程序能够保证数据的完整性,那在设计数据库时就去掉外键。三、sql语句全大写特别是列名和表名都大写。利用sql命令的缓存功能,更加需要统一大小写,sql语句发给oracle服务器语法检查和编译成为内部指令缓存和执行指令。根据缓存的特点,不要拼凑条件原创 2022-02-04 19:48:36 · 4110 阅读 · 4 评论 -
从原理到应用解释MYSQL和HBASE区别
HBase 是运行在 HDFS 之上的面相列的数据库管理系统。注意 HBase 不是列式存储数据库,每一个列簇就是一个HFiel。有以下特点● 天然分布式,主从架构● NoSQL数据库,不支持事务,不支持sql● 不支持二级索引,仅能通过主键(row key)和主键的 range 来检索数据。● 海量数据存储:支持随机CRUD,亿级数据秒级响应。原创 2022-01-17 20:20:50 · 2172 阅读 · 0 评论 -
十分钟弄懂Hbase基础概念
row key(行键)必须是全表唯一的,更新row key是覆盖。插入数据需要指定row key。扩展:RowKey是会按字典序排序的,RowKey相近的行总是存储在相近的位置,如果大量读写操作总是集中在某个RowKey范围就会造成Reginon热点,这会导致某部分数据会集中在某台HRegionServer上存储以及查询,而其他的HRegionServer却很空闲。打散RowKey:加盐+哈希、反转固定格式数值原创 2022-01-16 01:06:14 · 1437 阅读 · 0 评论 -
如何使用navicat给两张表创建关联主外键
首先了解主外键的定义主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性。外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的。所以说到了外键,一定是至少涉及到两张表。例如部门表和员工表:Id=Dept_id,而Dept_id就是员工表中的外键:因为员工表中的员工需要知道自己属于哪个部门,就可以通过外键Dept_id找到对应的部门,然后才能找到...原创 2019-12-11 23:16:58 · 26109 阅读 · 1 评论