-
MySQL基本知识点梳理和查询优化
所属栏目:[MySql教程] 日期:2018-11-29 热度:192
目录 一、索引相关 二、EXPLIAN中有用的信息 三、字段类型和编码 四、SQL语句总结 五、踩坑 六、千万大表在线修改 七、慢查询日志 八、查看sql进程和杀死进程 九、一些数据库性能的思考 本文主要是总结了工作中一些常用的操作,以及不合理的操作,在对慢查[详细]
-
使用systemtap调试工具分析MySQL的性能
所属栏目:[MySql教程] 日期:2018-11-29 热度:90
【工具】 SystemTap是Linux下的动态跟踪工具,可以方便的监控、跟踪运行中的程序或Linux内核操作,我们通过写SystemTap脚本(与C语言类似),编译为内核模块,然后加载到内核中运行,它带来的性能损耗比较[详细]
-
MySQL8.0里GROUP BY有变化,注意了
所属栏目:[MySql教程] 日期:2018-11-29 热度:157
如题所示,MySQL 8.0开始 group by 默认是没有排序的,那MySQL 8.0之前和 8.0 就有可能结果出现不同,需要警惕。 运行如下SQL: 下面是8.0 版本: 运行相同的SQL: 如果这种情况下,进行分页。 5.7 版本: 8.0版本: 由上可见,两个结果是不一样的,原因是[详细]
-
为什么我们做分布式使用Redis?
所属栏目:[MySql教程] 日期:2018-11-29 热度:52
绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里对 Redis 常见问题做一个总结,解决大家的知识盲点。 1、为什么使用 Redis 在项目中使用 Redis,主要考虑两个角度:性能[详细]
-
数据库中为什么不推荐使用外键约束
所属栏目:[MySql教程] 日期:2018-11-29 热度:164
引言 其实这个话题是老生常谈,很多人在工作中确实也不会使用外键。包括在阿里的JAVA规范中也有下面这一条 【强制】不得使用外键与级联,一切外键概念必须在应用层解决。 但是呢,询问他们原因,大多是这么回答的 每次做DELETE 或者UPDATE都必须考虑外键约[详细]
-
pydbgen:一个数据库随机生成器
所属栏目:[MySql教程] 日期:2018-11-23 热度:99
用这个简单的工具生成带有多表的大型数据库,让你更好地用 SQL 研究数据科学。 在研究数据科学的过程中,最麻烦的往往不是算法或者技术,而是如何获取到一批原始数据。尽管网上有很多真实优质的数据集可以用于机器学习,然而在学习 SQL 时却不是如此。 对[详细]
-
从大神的角度深入理解MySQL,值得收藏~
所属栏目:[MySql教程] 日期:2018-11-23 热度:82
我对DB的理解 第一,数据库的组成:存储 + 实例 不必多说,数据当然需要存储;存储了还不够,显然需要提供程序对存储的操作进行封装,对外提供增删改查的API,即实例。 一个存储,可以对应多个实例,这将提高这个存储的负载能力以及高可用;多个存储可以分布[详细]
-
Redis的模糊查询在生产环境出现严重的性能问题
所属栏目:[MySql教程] 日期:2018-11-23 热度:177
Redis是一个高性能高效率的key-value存储的nosql数据库,由于数据是存储在内存中,因此访问速度非常快,由于项目涉及到数据库的查询非常多,而数据变大并不是非常频繁,所以在项目中采用Redis分担大部分MySQL的压力。 在项目中实际使用我用的Redis提供的客[详细]
-
监测数据库的健康和行为:有哪些重要指标?
所属栏目:[MySql教程] 日期:2018-11-23 热度:80
我们没有对数据库讨论过多少。在这个充满监测仪器的时代,我们监测我们的应用程序、基础设施、甚至我们的用户,但有时忘记我们的数据库也值得被监测。这很大程度是因为数据库表现的很好,以至于我们单纯地信任它能把任务完成的很好。信任固然重要,但能够[详细]
-
填坑利器?Redis如何弥补传统MySQL架构的不足
所属栏目:[MySql教程] 日期:2018-11-23 热度:70
传统MySQL架构难以满足的现代应用程序需求包括: 传统数据库的读/写速度对会话存储等用例不友好; 引入新表或修改现有模式非常复杂,这也导致了添加新功能和应用程序会有困难; 传统数据库会受到每秒可执行操作的数量和并发连接数的限制,所以在数据库实例增[详细]
-
MySQL中一个双引号错位引发的血案
所属栏目:[MySql教程] 日期:2018-11-23 热度:173
一、前言 最近经常碰到开发误删除误更新数据,这不,他们又给我找了个麻烦,我们来看下整个过程。 二、过程 由于开发需要在生产环节中修复数据,需要执行120条SQL语句,需要将数据进行更新 于是开发连上了生产数据库,首先执行了第一条SQL updatetablename[详细]
-
这可能是学习MySQL最好的4本免费电子书
所属栏目:[MySql教程] 日期:2018-11-18 热度:60
MySQL是一个开源的关系型数据库,也是一个多用户、多线程的数据库管理系统。它是流行的LAMP开发平台(Linux、Apache HTTP Server、MySQL和PHP编程语言)的一个元素,MySQL在Web上尤其流行。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQ[详细]
-
详解Redis基
所属栏目:[MySql教程] 日期:2018-11-18 热度:163
本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概览Redis提供的高级能力,并在部署、维护、性能调优等多个方面进行更深入的介绍和指导。 本文适合使用Redis的普通开发人员,以及对Redis进行选型、架[详细]
-
学Oracle,这里有7本不得不看的书
所属栏目:[MySql教程] 日期:2018-11-18 热度:117
DB-Engines的数据库排行榜中,Oracle一直稳居第一,狂甩第二名的MySQL,相比开源的MySQL,商业化的Oracle可以在所有主流平台上运行,且具有良好的可伸缩性和并行性,同时还有高性能、高安全性、低风险等优势。 并且许多岗位明确要求程序员熟练掌握Oracle,[详细]
-
分享 | MongoDb优化指南
所属栏目:[MySql教程] 日期:2018-11-18 热度:114
1、为什么选择MongoDB? 1、性能 在大数据时代中,大数据量的处理已经成了考量一个数据库最重要的原因之一。而MongoDB的一个主要目标就是尽可能的让数据库保持卓越的性能,这很大程度地决定了MongoDB的设计。在一个以传统机械硬盘为主导的年代,硬盘很可能[详细]
-
11月全球数据库排行榜:Oracle、MySQL均大幅度下滑,PostgreSQL走势凶猛
所属栏目:[MySql教程] 日期:2018-11-18 热度:175
近日,DB-Engines 发布了 2018 年 11 月份的数据库排名。本月排行榜中排名前三的依然是:Oracle、MySQL 和 Microsoft SQL Server。 首先来看看前 20 名排行中有哪些亮点: 1、Oracle和MySQL出现大幅度下滑,Oracle下滑了18.16分,相比去年同期下跌了58.94[详细]
-
使用Redis和Python构建一个共享单车的应用程序
所属栏目:[MySql教程] 日期:2018-11-18 热度:69
学习如何使用 Redis 和 Python 构建一个位置感知的应用程序。 我经常出差。但不是一个汽车狂热分子,所以当我有空闲时,我更喜欢在城市中散步或者骑单车。我参观过的许多城市都有共享单车系统,你可以租个单车用几个小时。大多数系统都有一个应用程序来帮[详细]
-
认识MongoDB 4.0的新特性——事务(Transactions)
所属栏目:[MySql教程] 日期:2018-11-18 热度:63
前言 相信使用过主流的关系型数据库的朋友对事务(Transactions)不会太陌生,它可以让我们把对多张表的多次数据库操作整合为一次原子操作,这在高并发场景下可以保证多个数据操作之间的互不干扰;并且一旦在这些操作过程任一环节中出现了错误,事务会中止并[详细]
-
SQL Server注意事项总结,高级程序员必背!
所属栏目:[MySql教程] 日期:2018-11-18 热度:119
本篇文章主要介绍SQL Server使用时的注意事项。 想成为一个高级程序员,数据库的使用是必须要会的。而数据库的使用纯熟程度,也侧面反映了一个开发的水平。 下面介绍SQL Server在使用和设计的过程中需要注意的事项。 SQL Server注意事项 Sql事务启动语句[详细]
-
Redis命令行工具有趣的罕见用法
所属栏目:[MySql教程] 日期:2018-11-12 热度:148
我们天天都在使用 Redis 内置的命令行工具 redis-cli,久而久之以为它就是一个简单的交互式 Redis 数据结构手工操作程序,但是它背后强大的功能绝大多数同学可能闻所未闻。本节我们一起来挖掘这些鲜为人知的有趣用法。 执行单条命令 平时在访问 Redis 服务[详细]
-
Sharding-Sphere 正式步入 Apache 基金会孵化器
所属栏目:[MySql教程] 日期:2018-11-12 热度:144
美国时间2018年11月10日6点,分布式数据库中间件开源软件 Sharding-Sphere 正式步入 Apache 基金会孵化器。 根据 Apache 基金会邮件列表显示,7个约束性投票(binding votes)和7个无约束性投票(non-binding votes)的投票,全部持赞同意见,无弃权票和反对票[详细]
-
这可能是最学习MySQL最好的4本免费电子书
所属栏目:[MySql教程] 日期:2018-11-12 热度:102
MySQL是一个开源的关系型数据库,也是一个多用户、多线程的数据库管理系统。它是流行的LAMP开发平台(Linux、Apache HTTP Server、MySQL和PHP编程语言)的一个元素,MySQL在Web上尤其流行。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQ[详细]
-
MySQL更改数据库数据存储目录
所属栏目:[MySql教程] 日期:2018-11-12 热度:60
MySQL数据库默认的数据库文件位于/var/lib/mysql下,有时候由于存储规划等原因,需要更改MySQL数据库的数据存储目录。下文总结整理了实践过程的操作步骤。 1:确认MySQL数据库存储目录 [root@DB-Servertmp]#mysqladmin-uroot-pvariables|grepdatadir Enter[详细]
-
开始使用MongoDB之前应该知道的14件事
所属栏目:[MySql教程] 日期:2018-11-07 热度:195
本文要点 即使MongoDB没有强制要求,设计一个模式还是至关重要。 类似地,在设计模式及访问模式时设计好索引。 避免大对象,尤其是大数组。 谨慎对待MongoDB的设置,尤其是关乎安全和稳定性时。 MongoDB没有查询优化器,因此,对于如何安排查询操作的顺序[详细]
-
实现故障恢复自动化:详解Redis哨兵技术
所属栏目:[MySql教程] 日期:2018-11-07 热度:163
在前面分享的《读完这篇文章,就基本搞定了Redis主从复制》中我们曾提到,Redis主从复制的作用有数据热备、负载均衡、故障恢复等;但主从复制存在的一个问题是故障恢复无法自动化。本文将要介绍的哨兵,它基于Redis主从复制,主要作用便是解决主节点故障恢[详细]