• Web端 SQL审核平台——Yearning Mysql

    介绍Yearning MYSQL 是一个SQL语句审核平台。提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度上解决运维与开发之间的那一环,功能丰富,代码开源,安装部署容易!开源地址https://gitee.com/cookieYe/Yearning功能介绍SQL查询查询导出查询自动补全SQL审核流程化工单SQL语句检测SQL语句执行SQL回滚历史审核记录查询...

    MySQL 2019年12月23日 3347 0
  • 如何写一手好SQL很有必要

    前言博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是没有命中索引和没有分页处理 。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评指正。MySQL性能最大数据量抛开数据量和并发数,谈性能都是耍流氓 。MyS...

    MySQL 2019年12月16日 1538 0
  • 腾讯百亿级请求高可用Redis(codis)分布式集群实践

    一、Redis有哪些常用的应用场景1)string | 计数器,用户信息(id)映射,唯一性(例如用户资格判断),bitmap2)hash | 常见场景:存储对象的属性信息(用户资料)3)list | 常见场景:评论存储,消息队列4)set | 常见场景:资格判断(例如用户奖励领取判断),数据去重等5)sorted set | 常见场景:排行榜,延时队列6)其他 | 分布式锁设...

    Redis 2019年12月14日 1769 0
  • 除了会排序,你对ORDER BY的用法可能一无所知

    导读为什么只有ORDER BY后面可以使用列别名为什么不推荐使用ORDER BY后接数字来排序为什么视图和子查询里面不能使用ORDER BY ……​小伙伴们在进行SQL排序时,都能很自然的使用到ORDER BY。不管是默认ASC的升序,还是DESC降序,几乎都是信手拈来。今天给大家分享一些你可能不知道的ORDER BY用法。一、ORDER BY返回的是游标而不是集合SQL的理论...

    MySQL 2019年12月12日 1464 0
  • 10亿数据量只需要100MB内存,redis的位存储为什么这么牛?

    本文主要和大家分享一下redis的高级特性:bit位操作。力求让大家彻底学会使用redis的bit位操作并掌握其底层实现原理!主要包含以下内容:redis位操作命令示例底层数据结构分析为什么他的算法时间复杂度是O(1)?10亿数据量需要多大的存储空间?redis位操作适合哪些应用场景?本文redis试验代码基于如下环境:操作系统:Mac OS 64位版本:Redis 5.0.7...

    Redis 2019年12月08日 2434 0
  • 微软SQL Server 2019 全新发布,更新内容亮点都在这里了

    在Microsoft Ignite 2019 大会上,微软正式发布了新一代数据库产品SQL Server 2019。使用统一的数据平台实现业务转型SQL Server 2019 附带 Apache Spark 和 Hadoop Distributed File System(HDFS),可实现所有数据的智能化。SQL Server 2019 的亮点SQL Server 2019...

    SQL SERVER 2019年11月08日 2286 0
  • 围观,阿里P7大佬超详细揭秘 Redis 持久化

    Redis 是一个开源( BSD 许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持的数据类型很丰富,如字符串、链表、集 合、以及散列等,并且还支持多种排序功能。什么叫持久化?用一句话可以将持久化概括为:将数据(如内存中的对象)保存到可永久保存的存储设备中。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、 XML 数据文件中等等...

    Redis 2019年11月05日 2622 0
  • MySQL用得好好的,为什么要转ES?

    来源:京东技术(jingdongjishu)京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况。我们把订单数据存储在MySQL中,但显然只通过DB来支撑大量的查询是不可取的。同时对于一些复杂的查询,MySQL支持得不够友好,所以订单中心系统使用了Elasticsearch来承载订单查询的主要压力...

    MySQL 2019年11月01日 1766 0
  • Redis为什么默认16个数据库?

    导读:在实际项目中Redis常被应用于做缓存,分布式锁、消息队列等。但是在搭建配置好Redis服务器后很多朋友应该会发现和有这样的疑问,为什么Redis默认建立了16个数据库,如下图所示。 一、16个数据库的由来 Redis是一个字典结构的存储服务器,一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与在一个关系数据库实例中可以创建多个...

    Redis 2019年10月29日 1887 0
  • 别逗了,你真以为分库分表就能无限扩容吗?

    像我这样的菜鸟,总会有各种疑问,刚开始是对 JDK API 的疑问,对 NIO 的疑问,对 JVM 的疑问... 图片来自 Pexels 当工作几年后,对服务的可用性,可扩展性也有了新的疑问,什么疑问呢?其实是老生常谈的话题:服务的扩容问题。 正常情况下的服务演化之路 让我们从最初开始。 单体应用 每个创业公司基本都是从类似 SSM 和 SSH 这种架构起来的,没什么好...

    MySQL 2019年10月28日 1499 0
  • 2019,遇见最好的 MySQL 数据库

    2019年,关于 MySQL 的新特性、新版本消息不绝于耳: 2019,10月,MySQL 8.0.18 发布,支持 HASH JOIN;2019,4月,MySQL 8.0.11 发布,实现比 MySQL 5.7 快 2 倍的速度; MySQL 一直是互联网数据内核的主宰,但是在经历从互联网到企业级的转变中,却是困难重重。然而在 2019年,越来越多的企业级客户开始在业务核心...

    MySQL 2019年10月26日 3227 0
  • 自然语言到 SQL 语句,微软只用六个子任务,结果超越人类水平

    作者 | 幻风编辑 | 唐里 论文标题:X-SQL:reinforce schema representation with context 论文地址:https://arxiv.org/pdf/1908.08113 1、背景介绍 如果有人问现在是一个什么样的时代?那么很多人都会回复现在是一个大数据的时代,如此海量的数据,我们将其大多数都存储在数据库中。在日常生活中我们经常...

    SQL SERVER 2019年10月25日 2674 0
  • 程序员冷知识,Mysql的数据库引擎为什么多选InnoDB?

    这是一道经典的程序员面试题,Mysql数据库在超大并发下,特别是Insert语句比较多的情况下,应该选择哪种存储引擎,很多人会说MyISAM,今天我们来简单介绍下Mysql的MyISAM存储引擎。锁粒度首先我们来了解 一些MyISAM与InnoDB的一些区别,首先是锁粒度,MyISAM只有表锁而InnoDB拥有行锁。也就是说,Mysql的InnoDB的锁粒度更小,锁粒度小,有时...

    MySQL 2019年10月21日 2090 0
  • MySQL 8.0.18 GA 正式发布

    MySQL Server 8.0.18、5.7.28 和 5.6.46 已于2019年10月15日正式发布。MySQL 开发团队也第一时间发布了更新说明文章。以下是原文翻译。 原文:《The MySQL 8.0.18 Maintenance Release is Generally Available》 https://mysqlservertea...

    MySQL 2019年10月17日 1584 0
  • mysql where 字段值末尾加空格也能查到数据

    今天遇到了一个很奇怪的mysql查询问题,当作为查询条件的字符串末尾有空格时,可以查到数据库中末尾不含空格的值。经过多次查阅资料,最后找到三种解决的方法,现在分享给大家。原因:如果字段是char或varchar类型,那么在字符串比较的时候MySQL使用PADSPACE校对规则,会忽略字段末尾的空格字符。解决方式:若想做到精确匹配可以使用下面几种方法:第一种方法:使用likese...

    MySQL 2019年10月16日 3055 0
  • 万万没想到,Redis多线程版本竟然比原生版本快那么多

    如果我告诉您有一个 Redis 的分支版本,它的性能比原生的 Redis 快 5 倍,而且延迟却降低近 5 倍,你会不会想了解一下这个项目?而如果您不再需要哨兵节点并且您的副本可以接受读取和写入,这将有可能使分片数量减少 10 倍,这样对你的吸引力是不是更大了呢? 我说的这个分支版本,它其实是 Redis 的一个分叉版本,名叫 KeyDB 。K...

    Redis 2019年10月14日 1766 0
  • 怎么快速插入 100W条数据,用时最短

    多线程插入(单表) 问:为何对同一个表的插入多线程会比单线程快?同一时间对一个表的写操作不应该是独占的吗? 答:在数据里做插入操作的时候,整体时间的分配是这样的: 链接耗时 (30%) 发送query到服务器 (20%) 解析query (20%) 插入操作 (10% * 词条数目) 插入index (10% * Index的数目) 关闭链...

    MySQL 2019年10月11日 3044 0
  • 基于Redis设计一个百万级用户的高并发系统

    目录 抽奖系统的背景引入 结合具体业务需求分析抽奖系统 一个未经过优化的系统架构 负载均衡层的限流 Tomcat线程数量的优化 ...

    Redis 2019年10月11日 2223 0
  • Java架构师-Redis单线程?别逗了,Redis6.0多线程重磅来袭

    2019年的 RedisConf 比以往时候来的更早一些,今年会议时间是4月1-3号,仍然是在旧金山鱼人码头Pier 27。恰逢今年是 Redis 第10周年,规模也比以往大一些,注册人数超过1600人,总共有80个议题,除了RedisLabs外还有很多云厂商和Redis用户带来分享。Redis 作者 antirez 在 RedisConf 2019 做了分享,其中一段展...

    Redis 2019年10月09日 1902 0
  • MySQL5.7占用CPU过高的问题分析

    升级mysql数据库到5.7版本后,发现MySQL对CPU和内存的消耗增加了不少,内存增加量还好一些,但CPU的飙升就麻烦一些了,这样会占用不少的资源。 其实可以使用MySQL内部的表定位问题SQL,通过下面这个SQL来定位问题:select a.THREAD_OS_ID,b.user,b.host,b.db,b.command,b.time,b.state,b.infofr...

    MySQL 2019年10月09日 3566 0
  • MySQL入门-如何使用mysqldump导出和数据导入

    一、备份单个数据库 1、备份命令:mysqldump   MySQL数据库自带的一个很好用的备份命令。是逻辑备份,导出 的是SQL语句。也就是把数据从MySQL库中以逻辑的SQL语句的形式直接输出或生成备份的文件的过程。单实例语法(Syntax):mysqldump -u -p > /p...

    MySQL 2019年10月08日 1681 0
  • MySQl数据库如何备份以及备份命令方法介绍

    一、备份的目的 做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 二、备份需要考虑的问题 可以容忍丢失多长时间的数据;恢复数据要在多长时间内完; 恢复的时候是否需要持续提供服务;恢复的对象,是整个库,多个表,还是单个库,单个表。 三、备份的类型 1、根据是否需要数据库离线 冷备(cold backup)...

    MySQL 2019年10月08日 1689 0
  • Mysql数据库分库后跨库join解决方案

    一、前言 近几个月项目中数据库开始分库了,把一个原本60多张表的数据库分成了6个部分,每个部分有自己业务之内的表,整个数据库只是物理分开,逻辑依然是链接的,通过mycat这个数据库中间件对整个数据库进行路由转发。但是分库后随之而来的问题之一就是跨库join,可以说网上的解决方案已经烂大街了。但是小编还是觉得有必要总结分析一下。 二、数据库结构示例 为了公...

    MySQL 2019年10月03日 3967 2
  • 用Redis实现搜索附近人的功能——geohash算法的使用

    笔者之前文章介绍过geohash算法,那么今天,我们来讲一下Redis的geo功能。 GeoHash与Z阶曲线的关系 1 引言 “附近的人”在社交类APP已成为标配的功能,简单一点的实现方式可以把坐标存至关系型数据库,通过计算的坐标点距离实现,这种计算可行但计算速度远不及内存操作级别的NoSql数据库。基于Redis的geo就可以轻松实现。 2 Redis处理位置坐标...

    Redis 2019年09月27日 2752 0
  • 并发扣款,如何保证数据的一致性?

    沈老师,我们有个业务,同一个用户在并发“查询,逻辑计算,扣款”的情况下,余额可能出现不一致,请问有什么优化方法么? 扣款的业务场景是怎样的? 用户购买商品的过程中,要对余额进行查询与修改,大致的业务流程如下:第一步,从数据库查询用户现有余额: SELECT money FROM t_yue WHERE uid=$uid; 不妨设查询出来的$old_mon...

    MySQL 2019年09月21日 3159 0
  • 如何在mysql数据库中查询用户所有上级

    有时候,一句SQL可以实现的MYSQL递归查询,就不想用存储过程了。如何在MySQL数据库中查询用户所有上级,下面是一个可行的方法,前提是数据库设计一定要标准化,id使用数字型int,pid为0则为顶级。如果使用GUID的可以路过! 下面写出MySQL数据库中查询用户所有上级的SQL语句:select id as id,preid as 父id ,levels as 父到子之...

    MySQL 2019年09月18日 5465 0
  • 1142 - select command denied to user 'sa'@'127.0.0.1' for table 'user'

    错误信息的字面意思是:表“user”拒绝用户“sa”@“127.0.0.1”的命令 ,很明显用户没有权限,那就给他授权呗! 一、使用客户端授权(Navicat Premium 12)1、使用root用户登陆mysql2、新建查询,输入指令:use mysql;select * from user where user='sa';SQL语句where后面的条件写要授权的那个用户...

    MySQL 2019年08月27日 3187 0
  • startup mount时报ORA-12514错误的解决方法

    1.关闭数据库shutdown immediate; 2.数据库启动到mount阶段startup mount; ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务  处理办法:listener文件,添加如下内容: SID_LIST_LISTENER = (SID_LIST =  &n...

    Oracle 2019年08月27日 2745 0
  • MongoDB 4.2 正式发布,支持分布式事务

    MongoDB 4.2 正式发布了,MongoDB Server 4.2 提高了现代事务和分析数据平台的技术水平。4.2 的主要重点包括:1、分布式事务将 MongoDB 的多文档 ACID 从副本集扩展到共享集群,能够为更广泛的用例服务2、按需物化视图使用新的 $Merge 运算符,在集合中缓存大型聚合的输出是一种常见的模式,新的 $Merge 运算符将可以有效地更新这些结果...

    MongoDB 2019年08月19日 2514 0
  • redis list判断是否包含某值

    在redis的list当中,如果想要判断list中是否包含某值,可以用下面的方法:List list = RedisUtil.getJedis().lrange("testlist",0,RedisUtil.getJedis().llen("testlist")); for(Object item:list){ String value =...

    Redis 2019年07月26日 17084 0