52条SQL语句教你性能优化
1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多...
1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多...
全文索引需要特殊的查询语法。有没有索引都可以进行全文检索,但是存在索引时会提高匹配的速度。全文索引的索引通过特殊的结构存储以便于找到文档中包含搜索关键字对应的内容...
谈到MySQL性能优化,查询优化作为优化的源头,它也是最能体现一个系统是否更快。本章以及接下来的几章将会着重讲解关于查询性能优化的内容,从中会介绍一些查询优化的技巧,帮助大...
1. MySQL 权限介绍mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表,我当前的版本mysql 5.7.22 。mysql权限表的验证过程为: 先从user表中的Host,U...
一、PXC 介绍
1.1 PXC 简介
PXC 是一套 MySQL 高可用集群解决方案,与传统的基于主从复制模式的集群架构相比 PXC 最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以...
SQL注入攻击是黑客对数据库进行攻击常用的手段之一,随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验参差不齐,相当大一部...
背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串。解决方法: 通过group_concat函数拼接的结果很长,导致拼接结果显示不全,可以通过以下方法解决。在每次查询前执行SET...
这一篇笔记我们简述一下 MySQL的B+Tree索引到底是咋回事? 聚簇索引索引到底是如何长高的。一点一点看,其实蛮好理解的。如果你看过了我之前的笔记,你肯定知道了MySQL进行...
前言文章沿着设计一个假想的应用 awesome_app 为主线,从零创建修改数据库,表格,字段属性,索引,字符集,默认值,自增,增删改查,多表查询,内置函数等实用 SQL 语句。收藏此文,告别零散又低...
mysql中的DATETIME精度为什么只支持到秒?mysql中的DATETIME类型跟时区有关吗?mysql设计表的时候,表示时间的字段改如何选择?案例分析 DATETIME的精度问题前段时间,将负责的应用的...
重装了电脑,安装了最新版的MySQL数据库,结果Navicat连接Mysql报1251错误,sqlyog报2058错误,但是window命令进入mysql,账号密码都是正确的。在网上查的是,出现这个原因是mysql8...
数据库的主要作用就是对数据进行保存和维护,所以备份数据是数据库管理中最常用的操作。为了防止数据库意外崩溃或硬件损伤而导致的数据丢失,数据库系统提供了备份和恢复策略。...
phpmyadmin4系列通通加载缓慢的最终原因是最近phpmyadmin的官网经常打不开,而phpmyadmin页面会自动检查官网上的程序版本更新,所以当你进入phpmyadmin管理页面点击数据库的时...
上篇redis实现的分布式锁,有一个问题,它不可重入。所谓不可重入锁,即若当前线程执行某个方法已经获取了该锁,那么在方法中尝试再次获取锁时,就会获取不到被阻塞。 同一个人拿一个...
redis的zset可以很方便地用来实现排行榜功能,下面简单介绍python如何使用redis实现排行榜功能加入排行榜
获取redis实例
import redismain_rds = redis.StrictRedis(host='lo...
触发器可以在执行语句前或执行后触发其他 SQL 代码运行。触发器可以读取触发语句改变了哪些数据,但是没有返回值。因此可以使用触发器加强业务逻辑的约束而不需要在应用程序...
事件可以指定单次或以一定的间隔执行 SQL 代码。通常是将复杂的 SQL 语句使用存储过程封装好,然后周期性地调用存储过程完成一定的任务。事件无需建立服务端连接,而是通过一个...
由于这个原因,在阿里巴巴规约中这样要求:【强制】表名、字段名必须使用小写字母或数字 , 禁止出现数字开头,禁止两个下划线中间只 出现数字。数据库字段名的修改代价很大,因为无...
前言很多小伙伴在面试中都会被问道 Redis的常用数据结构有哪些?可能很大一部分回答都是 string、hash、list、set、zset。当然啦,这个答案肯定是没有错的,但是相信这个答案,面试...
前期准备订单测试表CREATE TABLE `trade` ( `id` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `trade_no` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_...
今天给MySQL数据库的表创建触发器,想达到的效果是:修改a表的字段received之后,同时要将b表中的registerStatus更新为1,将registerIP改为receive值。1、首先写建立触发器的sql语...
MySQL 5.7.27 详细下载安装配置教程前言在安装MySQL的时候会遇到很多问题,博客上有很多解决问题的办法,在这里我附上一些链接,遇到问题的朋友们可以阅读参考哈~本文主要针对于...
一、下载MySQL下载地址:https://dev.mysql.com/downloads/mysql/
https://dev.mysql.com/downloads/mysql/5.7.html#downloads (MySQL Community Server 5.7.34)二、解压压缩...
一、下载MySQL msi版本下载地址:https://dev.mysql.com/downloads/mysql/
二、安装直接右击点击安装接下来按照默认选项,一路安装选项含义Developer Default默认安装类型Serve...
使用imp、impdp方式导入数据1.使用imp导入数据打开cmd窗口,然后直接敲入一下命令即可,需要注意的是,要事先把dmp文件放到正确的路径中去imp yx_base/11@yx_192.168.xx.xx file...
🍺不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之。学至于行之而止矣。——荀子大家好!我是只谈技术不剪发的 Tony 老师。在使用 SQL 语句实现分页查询时,我们需...
在日常使用数据库时,你在意过NULL值么?其实,NULL值在数据库中是一个很特殊且有趣的存在,下面我们一起来看看吧;小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL专栏目录 | 点击...
简介mysqlpump 是 mysqldump 的一个衍生,本身也参考了 mydumper 的思路,支持了并行导出数据,因此导出数据的效率比 mysqldump 会高很多。使用介绍
mysqlpump 的绝大多数参数与...
简介
MySQL 作为最流行的开源数据库,在各个领域都有相当广泛的应用,作为一个 MySQL DBA,经常会对数据库进行一些性能测试来主动(或者是被动的)对业务压力做一个评估,来判断数据库...
1.重命名表方法使用 RENAME TABLE 语句或 ALTER TABLE 语句都可以对表进行重命名,基本语法如下:# RENAME TABLE 语法:RENAME TABLE tbl_name TO new_tbl_name [, tbl_na...
迁移工具
测试时,使用powerdesinger进行表结构转换,使用Navicat进行数据导入。 生产环境数据量较大,会由数据组同事选用其他工具进行迁移,到时再行补充。应用改造
添加mysql8.0...
在分布式的应用中,为了防止单点故障,保障高可用,通常会采用主从结构,当主节点挂掉后,从节点可以代替主节点提供服务。Redis通过复制 + sentinel哨兵来实现主从模式。Zookeeper通...
背景:同一个项目两个系统分别使用了PG库和Oracle库,Oracle是生产库,数据动态更新,现在在PG库中需要实时的获取到更新的数据进行统计,基于此种方式,可以通过ETL的工具实现,但是需要...
一、白话分布式什么是分布式,用最简单的话来说,就是为了较低单个服务器的压力,将功能分布在不同的机器上面,本来一个程序员可以完成一个项目:需求->设计->编码->测试但是项目多...
MySQL 5.0以后引入了视图。视图实际是一个自身不存储数据的虚拟数据表。实际这个虚拟表的数据来自于访问视图的 SQL 查询的结果。MySQL 处理视图和处理数据表差不多,通过这种...
一个通常的建议是为WHERE条件创建索引,但这其实是片面的。索引应当为全部查询设计,而不仅仅是WHERE条件。索引确实能有效地查找数据行,但MySQL也能够使用索引获取列数据,这样根...
复制简介Redis 作为一门非关系型数据库,其复制功能和关系型数据库(MySQL)来说,功能其实都是差不多,无外乎就是实现的原理不同。Redis 的复制功能也是相对于其他的内存性数据库(...
1、什么是Unique SQL用户执行SQL语句时,每一个SQL语句文本都会进入解析器(Parser),生成“解析树”(parse tree)。遍历解析树中各个结点,忽略其中的常数值,以一定的算法结合树中的各...
概述分布式数仓应用场景中,我们经常遇到数据库系统 hang 住的问题,所谓 hang 是指虽然数据库系统还在运行,但部分或全部业务无法正常执行。hang 问题的原因有很多,其中以分布式...
背景
Redis 是一个开源的内存数据结构存储系统。可以作为数据库、缓存和消息中间件使用。支持多种类型的数据结构。Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU...
1. UNITS 单位
# 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 bytes# 1gb => 1024*1024*1024 bytes## units ar...
1、先写个 Mysql 的链接设置页面package com.wretchant.fredis.menu.mysql;import com.intellij.notification.NotificationType;import com.intellij.openapi.actionSyste...
MySQL 5.0 版本开始支持存储过程。存储过程(Stored Procedure)是数据库中存储的复杂程序,以便外部应用调用的一种数据库对象。存储过程是为了完成特定功能的SQL语句集,经编译创...
正文
Online DDL在MySQL 5.6才开始支持的,在5.5及之前版本,使用alter table/create index等命令进行表结构修改操作均会锁表,这在生产环境上明显是不可接受的。在MySQL 5.7,Onli...
01 创建不可见列创建不可见列:CREATE TABLE `t2` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `age` int DEFAULT NULL INVISIBLE, PRIMARY...
Seconds_Behind_Master对于mysql主备实例,seconds_behind_master是衡量master与slave之间延时的一个重要参数。通过在slave上执行"show slave status;"可以获取seconds_behin...
背景我们先来看看MySQL 8.0的事务提交的大致流程以上流程,是MySQL8.0对WAL原则的一种实现,这个流程意味着,任何一个事务的提交,一定要完成write buffer和flush to disk流程。然...
本质区别 Oracle数据库是一个对象关系数据库管理系统(收费) MySQL是一个开源的关系数据库管理系统(免费)数据库的安全性 mysql使用三个参数来验证用户,即用户名,密码和位...
一、背景近期由测试反馈的问题有点多,其中关于系统可靠性测试提出的问题令人感到头疼,一来这类问题有时候属于“偶发”现象,难以在环境上快速复现;二来则是可靠性问题的定位链条...
Redis的安装Redis一般有Linux和Windows两种安装方式,Windows的最高版本为3.2,Linux的最高版本为5.0,大家可以根据自己的需要添加Linux首先在linux下安装docker,在docker环境下安...