数据库技术-日排行
MySQL主从复制,读写分离是互联网常见的数据库架构,该架构最令人诟病的地方就是,在数据量较大并发量较大的场景下,主从延时会比较严重。 为什么主从延时这么大? 答:MySQL使用单线程重放RelayLog。 应该怎么优化,缩短重放时间? 答:多线程并行重放RelayLog可以缩短时间。 多线程并行重 ...
数据库分库分表 前言 公司最近在搞服务分离,数据切分方面的东西,因为单张包裹表的数据量实在是太大,并且还在以每天60W的量增长。 之前了解过数据库的分库分表,读过几篇博文,但就只知道个模糊概念, 而且现在回想起来什么都是模模糊糊的。 今天看了一下午的数据库分库分表,看了很多文章,现在做个总结,“摘抄 ...
在使用爬虫进行爬取数据的时候,因为没有设置好serverTimezone=UTC 然后就会出现上面的异常 ...
一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善。这篇文章主要谈谈MySQL数据库在发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段: 阶段一:数据库表设计 项目立项后,开发部门根据产品部门需求开发项目。 开发工程 ...
CREATE TABLE Student1 (Sno CHAR(9)PRIMARY KEY, /*列级完整性约束条件,Sno是主码*/ Sname CHAR(20) UNIQUE, /*Sname 取唯一值*/ Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) ...
1、 导致慢 SQL 的原因 在遇到慢 SQL 情况时,不能简单的把原因归结为 SQL 编写问题(虽然这是最常见的因素),实际上导致慢 SQL 有很多因素,甚至包括硬件和 mysql 本身的 bug。根据出现的概率从大到小,罗列如下: SQL编写问题 锁 业务实例相互干绕对 IO/CPU 资源争用 ...
索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。 一、导致SQL执行慢 ...
你必须要有操作系统的root权限了。 # mysqld_safe --skip-grant-tables & &,表示在后台运行,不再后台运行的话,就再打开一个终端咯。 # mysql mysql> use mysql; mysql> UPDATE user SET password=passwor ...
一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请求串行化,串到一个内存队列里去。 串行化可以保证一定不会出现不一致的情况,但是它也会导致系统的吞吐量大幅度降低,用比正常情况下多几倍 ...
ojdbc6.jar下载 Oracle官方宣布的Oracle数据库11g的驱动jar包是ojdbc6.jar ojdbc6.jar下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-09076 ...
一、什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 Tips:最好不要在主库上数据库备份,大型活动前取消这样的计划。 效率低下的sql:超高的QPS与TPS。 大量的并发:数据连接数被占满(max_connection默认100,一般把连接数设置得大一些)。并发量: ...
sql标签的使用 通过sql片段达到代码重复利用 例: <sql id="sqlcont"> select count(*) </sql> <sql id="sqlselect"> select * </sql> <sql id="sqlcontent"> from user </sql> <sel ...
1、EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。 下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据: type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。 key列,使用到的索引名。如果没有选择索引,值是NULL。 ...
MySQL 慢怎么办 如果遇到 MySQL 慢的话,你的第一印象是什么,MySQL 数据库如果性能不行,你是如何处理的? 我咨询了一些同行, 得到了以下反馈: 第一反应是再试一次 第二个反应是优化一下 SQL 第三个反应是调大 buffer pool,然后开始换硬件了,换一下 SSD 最后实在不行了 ...
一、为什么用自增列作为主键 1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引、如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引、如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(R ...
1.1 前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。 今天给大家 ...
为什么要做主从复制?
1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。
怎么避免mysql死锁1、以固定的顺序访问表和行。比如两个更新数据的事务,事务A更新数据的顺序为1,2;事务B更新数据的顺序为2,1;。这样更可能会造成死锁。2、大事务拆小。大事务更倾向于死锁,如果业务允许,将大事务拆小。3.在同一个事务中,尽可能做到一次锁定所需要的所有资源,减少死锁概率。4、降低隔离级别。如果业务允许,将隔离级别调低也是比较好的选择,比如将隔离级别从RR调整为RC,可以避免很多
如何选择: MyISAM: 不支持事物, 不支持外键, 查询快增删慢, 系统崩溃恢复困难 非聚集索引(索引与数据是分离存储) 支持全文索引(查询快) 变量单独存储数据增加变量+1 select count(*) from user; --> 直接取变量值 innodb:(MySql默认)... ...
准备测试数据trade订单号卖家买家买家城市1A小王北京2B小李天津3A小刘北京order所属订单号买家商品名称价格发货时间1小王电视122015-08-0109:08:311小王冰箱242015-08-0109:08:142小李空调122015-09-0209:01:31注:皆以\t分割创建DFdefmain(args:Array[String]):Unit={valspark=SparkSes