mysql
chenrui310
这个作者很懒,什么都没留下…
展开
-
MYSQL索引
MYSQL索引索引的类型索引优化应该是对查询性能优化最有效的手段了。 mysql只能高效地使用索引的最左前缀列。 mysql中索引是在存储引擎层而不是服务器层实现的B-Tree索引B-Tree通常意味着所有的值都是按顺序存储的,并且每一个叶子页到根的距离相同。图中根节点没有画出来。B-Tree对索引列是顺序组织存储的,索引很适合查找范围数据。B-...转载 2020-02-27 14:10:08 · 516 阅读 · 0 评论 -
MySQL索引详细介绍
MySQL索引详细介绍一、什么是索引?为什么要建立索引?索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大...转载 2020-02-27 13:39:20 · 318 阅读 · 0 评论 -
大数据量数据库优化
大数据量数据库优化一、数据库结构的设计如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功...转载 2019-12-18 18:06:12 · 313 阅读 · 0 评论 -
十位数据库专家:如何透过性能优化看系统架构的合理性
十位数据库专家:如何透过性能优化看系统架构的合理性本文首发于一年多以前,由当时十位民生银行的数据库专家合著,系统地从架构的角度对数据库性能问题进行分析解读b,是多年项目开发和运维工作的经验总结。文章受到广大读者的关注,原分为上中下三篇,此次应读者要求“合体”发布,方便大家收藏参考。作者:牛新庄 袁春光 朱彬 王健 陈晓峰 胡经伟 曹伟伟 刘星 詹玉林 甘荃综述本...转载 2019-12-18 15:09:02 · 2623 阅读 · 0 评论 -
使用Guid做主键和int做主键性能比较
在数据库的设计中我们常常用Guid或int来做主键,根据所学的知识一直感觉int做主键效率要高,但没有做仔细的测试无法说明道理。碰巧今天在数据库的优化过程中,遇到此问题,于是做了一下测试。测试环境: 台式电脑 Pentiun(R) 4 Cpu 3.06GHz Win XP professional 1.5G DDR RAM SQL Server 2005 个人版...转载 2019-10-16 16:40:39 · 669 阅读 · 0 评论 -
MYSQL中GUID和自增列做主键的优缺点
1.什么是GUID?UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。UUID 的目的,是让分布式系统中的所有元素,都能...原创 2019-10-16 16:31:20 · 11302 阅读 · 0 评论 -
mysql 获取某个时间段每一天、每一个小时的统计数据
获取每一天的统计数据做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:18:36这个时间段内,统计出每一天的日志数据,一般情况下,看到这种需求都是考虑使用函数来搞定,直接上sql语句 SELECT DATE_FORMAT(trigger_tim...转载 2019-04-08 17:15:35 · 2095 阅读 · 0 评论 -
mysql导入数据库时出现40101错误解决方法
文章总结了关于mysql导入数据库时出现40101错误,不能成功把数据库入的解决办法,有需要学习的朋友可参考一下.导入错误:40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET导入的方法:mysqluse test; mysql source c:/test.sql 导入数据时,如果目标数据库或表是UTF-8字符集的,而导入SQL中有中文,...转载 2019-03-12 10:15:47 · 5096 阅读 · 0 评论 -
PHP的学习--连接MySQL的三种方式
记录一下PHP连接MySQL的三种方式。先mock一下数据,可以执行一下sql。/*创建数据库*/CREATE DATABASE IF NOT EXISTS `test`;/*选择数据库*/USE `test`;/*创建表*/CREATE TABLE IF NOT EXISTS `user` ( name varchar(50), age int);...转载 2019-03-20 11:09:00 · 208 阅读 · 0 评论 -
MySQL/Oracle数据库优化总结(非常全面)
MySQL数据库优化的八种方式(经典必看)引言: 关于数据库优化,网上有不少资料和方法,但是不少质量参差不齐,有些总结的不够到位,内容冗杂 偶尔发现了这篇文章,总结得很经典,文章流量也很大,所以拿到自己的总结文集中,积累优质文章,提升个人能力,希望对大家今后开发中也有帮助 1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库...转载 2019-09-27 14:16:33 · 209 阅读 · 0 评论 -
PHP基于ORM方式操作MySQL数据库实例
ORM 对象关系映射,O(Object) 对象,在项目中就是实体,更加精确的来说就是数据Model,也可以说持久化类。R(Relation) 关系数据,M (Mapping)映射,将对象映射到关系数据,将关系数据映射到对象的过程。更加直观理解就是,ORM 就是以OOP思想,产生增删改查SQL语句。本文实例讲述了PHP基于ORM方式操作MySQL数据库。分享给大家供大家参考,具体如下...原创 2019-08-26 13:03:15 · 352 阅读 · 0 评论 -
MySQL、MongoDB、Redis 数据库之间的区别
NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路。MongoDB:它是一个内存数据库,数据都是放在内存里面的。对数据的操作大部分都在内存中,但MongoDB并不是单纯的内存数据库。MongoDB 是由 C++ 语言编写的,是一个基于分布...转载 2019-09-06 15:27:46 · 893 阅读 · 0 评论 -
MySQL提示:The server quit without updating PID file问题的解决办法
今天网站web页面提交内容到数据库,发现出错了,一直提交不了,数找了下原因,发现数据写不进去!第一反应,重启mysql数据库,一直执行中,停止不了也启动不了,直觉告诉我磁盘满了用df命令查了下,果然磁盘满了,因为当时分区采用系统默认,不知道为什么不能自动扩容!以后在处理这个问题!如图所示: 1 2 3 4 5 6 7 8 ...原创 2019-09-18 11:52:14 · 34008 阅读 · 1 评论 -
数据库水平切分的实现原理解析
数据库水平切分的实现原理解析数据库水平切分的实现原理解析——分库,分表,主从,集群,负载均衡器第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数...转载 2019-09-27 15:42:35 · 242 阅读 · 0 评论 -
[MySQL高级](一) EXPLAIN用法和结果分析
1. EXPLAIN简介使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。➤通过EXPLAIN,我们可以分析出以下结果:表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引用 每张表有多少行被优化器查询➤使用方式如下:EXPLAIN +SQL...转载 2019-10-09 17:31:17 · 150 阅读 · 0 评论 -
MySQL Explain详解(版本一)
MySQL Explain详解 </h1> <div class="clear"></div> <div class="postBody">在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一...转载 2019-10-09 17:59:48 · 253 阅读 · 0 评论 -
mysql的索引设计原则以及常见索引的区别
索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则:为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。那么索引设计原则又是怎样的?1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。...转载 2018-04-19 17:41:53 · 163 阅读 · 0 评论 -
面试常考知识点—数据库
1.存储过程是什么?我们常用的关系型数据库是MySQL,操作数据库的语言一般为SQL语句,SQL在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成某种特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQ...转载 2019-02-28 11:25:32 · 364 阅读 · 1 评论 -
MYSQL面试常考知识点总结
MYSQL面试常考知识点总结数据库的三范式第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。SQL执行顺序关键字:select、fr...转载 2019-02-28 11:23:28 · 378 阅读 · 0 评论 -
MySQL启动错误ERROR! MySQL server PID file could not be found的解决办法
/etc/init.d/MySQL start无法启动mysql错误信息如下:ERROR! MySQL server PID file could not be found!Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/var/AYXXXXXXXXXXX.pid)...转载 2018-12-29 10:40:21 · 6672 阅读 · 0 评论 -
MySQL的表分区详解 - 查看分区数据量,查看全库数据量
查看分区数据量,查看全库数据量USE information_schema;SELECT PARTITION_NAME,TABLE_ROWSFROM INFORMATION_SCHEMA.PARTITIONSWHERE TABLE_NAME = 'sale_data';SELECT table_name,table_rows FROM TABLES WHERE转载 2018-04-03 23:37:03 · 20024 阅读 · 0 评论 -
实战mysql分区(PARTITION)
前些天拿到一个表,将近有4000w数据,没有任何索引,主键。(建这表的绝对是个人才)这是一个日志表,记录了游戏中物品的产出与消耗,原先有一个后台对这个表进行统计。。。。。(这要用超级计算机才能统计得出来吧),只能帮前人填坑了。。。。 数据太大,决定用分区来重构。如果你发现是empty,说明你的mysql版本不够,分区至少要5.1 下面针对业务查询转载 2018-04-03 23:31:07 · 442 阅读 · 0 评论 -
mysql的分区技术详细介绍
一、 mysql分区简介数据库分区数据库分区是一种物理数据库设计技术。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应用来说分区完全是透明的。MySQL的分区主要有两种形式:水平分区和垂直分区 水平分区(HorizontalPartitioning)这种形式的分区转载 2018-04-03 23:25:55 · 605 阅读 · 0 评论 -
【MySQL】 已经存在大量数据的表做分区
环境: 数据库版本:5.6 系统环境:CentOS 6.8复制架构:需求: 需要将实例C上面一个2500万行数据的Innodb引擎的表table进行分区,但是在实例A上面表table不做任何的修改。思考的问题: 在实例C上面的表table做分区,分区之后会不会影响实例A和实例C之间表table的传输,会不会造成数据不一致或者插入失败,或者分区转载 2018-04-03 23:15:21 · 3083 阅读 · 0 评论 -
Mysql数据库表分区深入详解
0、mysql数据库分区的由来?1)传统不分区数据库痛点mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看), 一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。[root@laoyang test]# ls -al总用量 1811444drwx转载 2018-04-03 21:42:15 · 149 阅读 · 0 评论 -
Mysql分区管理
初探很长时间没写博客了,这两天一直在学习Mysql分区,总结下:Mysql支持水平分区,并不支持垂直分区;水平分区:指将同一表中不同行的记录分配到不同的物理文件中;垂直分区:指将同一表中不同列的记录分配到不同的物理文件中;其中CSV、FEDORATED、MERGE等引擎不支持分区,MYISAM、InnoDB、NDB等引擎支持分区目的将一个表或索引分解为多个更小、更可管理转载 2018-04-03 21:28:13 · 743 阅读 · 1 评论 -
MySql从一窍不通到入门(一)基本概念梳理
1.主键 超键 候选键 外键主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。超 键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超键,即没有冗余元素的超键。外 键:转载 2018-04-03 19:37:35 · 365 阅读 · 0 评论 -
mysql分表的3种方法
一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间。其实这二...转载 2018-04-03 23:59:47 · 131 阅读 · 0 评论 -
MySQL存储引擎中的MyISAM和InnoDB区别详解
在使用MySQL的过程中对MyISAM和InnoDB这两个概念存在了些疑问,到底两者引擎有何分别一直是存在我心中的疑问。为了解开这个谜题,搜寻了网络,找到了如下信息:MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(tran转载 2018-04-05 17:23:23 · 101 阅读 · 0 评论 -
mysql 批量更新与批量更新多条记录的不同值实现方法
批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: UPDATE mytable SET myfield = 'value' WHERE...转载 2018-08-27 15:52:17 · 1128 阅读 · 0 评论 -
MySql从一窍不通到入门(八)复制(replication)和集群(cluster)/读写分离
转载:MySQL Replication 常用架构转载:使用MyCat实现MySQL的分片处理和读写分离转载:keepalived+mysql双主复制高可用方案转载:浅谈mysql主从复制的高可用解决方案转载:高性能Mysql主从架构的复制原理及配置详解一、 ReplicationReplication的思想是将数据在集群的多个节点同步、备份,以提高集群数据的可用性(HA...转载 2018-05-10 13:56:52 · 1732 阅读 · 0 评论 -
MySQL日志管理详解
这篇文章主要介绍了MySQL日志管理详解,本文讲解了日志种类、日志功能、MySQL中日志相关常用的服务器变量说明等内容,需要的朋友可以参考下日志文件对于一个服务器来说是非常重要的,它记录着服务器的运行信息,许多操作都会写日到日志文件,通过日志文件可以监视服务器的运行状态及查看服务器的性能,还能对服务器进行排错与故障处理,MySQl中有六种不同类型的日志。一、日志种类———–> 1,错误日志:...转载 2018-04-19 22:12:35 · 1833 阅读 · 0 评论 -
MySQL视图使用详解
1. 视图的定义视图就是从一个或多个表中,导出来的表,是一个虚拟存在的表。视图就像一个窗口(数据展示的窗口),通过这个窗口,可以看到系统专门提供的数据(也可以查看到数据表的全部数据),使用视图就可以不用看到数据表中的所有数据,而是只想得到所需的数据。在数据库中,只存放了视图的定义,并没有存放视图的数据,数据还是存储在原来的表里,视图的数据是依赖原来表中的数据的,所以原来的表的数据发生了...转载 2018-04-06 12:44:14 · 326 阅读 · 0 评论 -
MySQL---笔记之视图的使用详解
什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。这样,用户可以不用看到整个数据库中的数据,而之关心对自己有用的数据。数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的...转载 2018-04-06 12:38:09 · 138 阅读 · 0 评论 -
MySql视图原理讲解与使用大全
摘要:本文主要讲了MySql中视图的定义、原理和如何使用、创建、删除等一. 视图概述视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它...转载 2018-04-05 23:23:11 · 7775 阅读 · 2 评论 -
MySQL MyISAM/InnoDB高并发优化经验
最近做的一个应用,功能要求非常简单,就是 key/value 形式的存储,简单的 INSERT/SELECT,没有任何复杂查询,唯一的问题是量非常大,如果目前投入使用,初期的单表 insert 频率约 20Hz(次/秒,我喜欢这个单位,让我想起国内交流电是 50Hz),但我估计以后会有 500Hz+ 的峰值。目前的工作成果,额定功率 200Hz(CPU 占用 10 – 20,load avg =转载 2018-04-05 18:29:36 · 186 阅读 · 0 评论 -
MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)
MySQL中的存储引擎:1、存储引擎的概念2、查看MySQL所支持的存储引擎3、MySQL中几种常用存储引擎的特点4、存储引擎之间的相互转化一、存储引擎1、存储引擎其实就是如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。2、MySQL中的数据用各种不同的技术存储在文件(或内存)中,这些技术中的每一种技术都使用不同的存储机制,索引技巧,锁定水平并且最终提供广泛的不同...转载 2018-04-05 17:32:11 · 179 阅读 · 0 评论 -
秒杀(小米网抢购系统开发实践--“米粉节”背后的故事)
摘要:今年4月的“米粉节”对小米网来说意义非凡,是其彻底重构后迎来的一次全面压力测试,涉及网站前端、后台系统、仓储物流、售后等各环节。高并发的负载能力、稳定性、准确性等已不是问题,灵活性与可运营性成为关键。2014年的米粉节2014年4月9日凌晨,我和同事们对小米网的抢购系统做了最后的检查与演练。几个小时后,小米网今年开年来最重要的一次大型活动“米粉节”就要开始了。这次米粉节活动,是小米电商的成人...转载 2018-04-07 18:37:38 · 3345 阅读 · 1 评论