首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL建索引需要的原则

    2.为经常需要排序、分组和联合操作的字段建立索引 经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间。...4.限制索引的数目 索引的数目不是越多越好。每个索引都需要占用磁盘空间,索引越多,需要的磁盘空间就越大。修改表时,对索引的重构和更新很麻烦。越多的索引,会使更新表变得很浪费时间。...5.尽量使用数据量少的索引 如果索引的值很长,那么查询的速度会受到影响。例如,对一个CHAR(100)类型的字段进行全文检索需要的时间肯定要比对CHAR(10)类型的字段需要的时间要多。...mysql会一直向右匹配直到遇到范围查询(>、 3 and d = 4 如果建立(a,b,c,d)顺序的索引...比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意顺序,mysql的查询优化器会帮你优化成索引可以识别的形式 10.尽量选择区分度高的列作为索引。

    2.3K20

    切换 旧环境MySQL 到 新环境MySQL

    环境从一套旧的 主从mysql 切换到新的主从mysql旧环境配置差一点(新环境的1/4的内存和CPU), 还是机械盘, 故想迁移到新环境本次使用 A主,A备 表示旧环境的主库和备库, B主和B备表示新环境的主备实际切换过程和相关问题处理切换前..., 搭建新环境的主从, 并从旧环境同步数据过来, 差不多就是下图这样但要保障切换后应用验证失败还能回退, 所以还得搭建一个反向的主从(A主同步B主的数据)图片切换过程0...., 比如修改URL,或者每天需要跑的JOB之类的.处理方法: 赶紧设置 A主 只读, 然后跳过那部分主键冲突的数据总结1....在未使用gtid的环境, 建议启用gtid, 可以在线开启GTID,只需要重新change master即可.2....建议使用域名或者VIP, 不然业务还得修改IP信息, 而又有可能未修改完...运行一段时间没问题后, 就可以先关闭 旧环境 服务器了, 再过一段时间也没问题后, 就可以回收旧环境资源了.

    36520

    Centos7 安装需要的软件环境

    Mysql 安装 下载安装 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7...设置 访问Mysql之前需要先查看默认密码 grep "password" /var/log/mysqld.log 登录Mysql mysql -u root -p 然后输入刚才查到的密码,密码不可见隐藏显示...Jenkins 安装 官方安装 官方链接RPM安装 在正式安装之前,需要先安装好 java 环境 安装源 sudo wget -O /etc/yum.repos.d/jenkins.repo https..." 如果你需要在自动化构建中运行 root 权限的 shell ,那么还需要修改上面文件中 JENKINS_USER="root" 进行重启服务 systemctl restart jenkins.service...,添加到你所需要的地方 ln -s /usr/local/git/bin/git /usr/bin/git 前方是自己安装的位置,后面是需要软连接到需要的位置。

    1.2K20

    MySQL环境配置

    一.卸载不要的环境 陈旧环境清理 有的系统自带数据库,或者mariadb(MySQL的一种分支版本),有的可以使用,但作为MySQL数据库的学习,需要把其他的卸载掉。...卸载3中查找的安装包(如果你的系统中存在,就需要删掉)。 确认是否存在遗留文件:ls /etc/my.cnf ,若有则需要删除。...所以,卸载不要的环境最终可以总结以下这三点: 不存在mysql对应的rpm包 没有对应的mysql进程 没有my.cnf配置文件 做完前两步后my.cnf若仍存在,可以选择使用rm指令删除配置文件或者备份起来...为了方便管理,在root的家目录新建一个MySQL目录来保存此文件: 查看yum源是否含有MySQL&&mysql的yum源安装 不存在mysql的yum源,所以直接安装会失败,现在就需要先进行相应的...(仅仅演示,后续仍需要改回) datadir=/var/lib/mysql代表数据库未来建表建库时的对应数据所在的路径。

    72310

    MGR环境构建中需要考虑的细节(二)

    假设数据目录为 /data/mysql_4308 安装软件的目录为:/usr/local/mysql-5.7.25-linux-glibc2.12-x86_64 创建如下的目录结构 mkdir -p /...data/mysql_4308/{data,log,innodblog,tmp} sudo chown -R mysql.mysql /data/mysql_4308 修改参数my.cnf,把MGR相关的参数都屏蔽一下...,安装后再开启 开始数据字典初始化,这个过程和之前最大的不同就是指定了文件的目录,比较奇怪的是,MySQL的这个安装有些太死板,有些参数顺序不一样都会出错。...里面是不可行的,因为reset master操作是不允许的,在已有数据的场景下我们要搭建级联环境是不可行的。...在环境部署后,我们可以通过业务对接的方式试运行一下,看看还有哪些潜在的问题。

    1.1K10

    MGR环境构建中需要考虑的细节(一)

    这是学习笔记的第 1870篇文章 MGR这个方案之前写了一些文章来讨论,其实要在你的业务中落地,需要考虑的细节就很多了。...从正式使用来说,我们需要对MySQL的目录做一个整体的规划和设计。...此外你需要考虑在线上环境如何部署。 换句话来说,如果线上已经存在一套环境,我们怎么能够适配新的MGR架构。 如果平滑从业务过度到该架构,有一些前置的配置需要考虑。...比如create table xxxx as select *from xxxx;这种语法在GTID模式下是不可行的。 2)表需要主键,这一点是硬性规定,也是作为MySQL方向集群的潜规则。...通过环境的配置发现MGR节点的server-id相同的情况下依然可以搭建成功,需要设置server-id为不同的值,避免后续环境对接中出现问题。

    93230

    MySQL为什么需要主键

    MySQL为什么需要主键主键表中每一行都应该有可以唯一标识自己的一列(或一组列)。一个顾客可以使用顾客编号列,而订单可以使用订单ID,雇员可以使用雇员ID或雇员社会保险号。...表中的任何列都可以作为主键,只要它满足以下条件:任何两行都不具有相同的主键值。每个行都必须具有一个主键值(主键列不允许NULL值)这里列出的条件是MySQL本身强制实施的。...除MySQL强制实施的规则外,应该坚持的几个普遍认为的最好习惯为:不更新主键列的值。不重用主键列的值。不在主键列中使用可能会更改的值。比如用用户邮箱当主键,但是用户可能更换邮箱。...由于每次插入时也不需要移动已有数据,因此效率很高,也不会增加很多开销在维护索引上。...综上,在使用InnoDB存储引擎时,如果没有特别的需要,请永远使用一个与业务无关的自增字段作为主键。InnoDB存储引擎采用了聚集的方式,因此每张表的存储都是按主键的顺序进行存放。

    1.3K00

    MySQL中需要重视的隐式转换

    这是学习笔记的第 1994 篇文章 在系统集成,对接的过程中,很多时候我们都会忽略数据类型的兼容性,导致在系统运转起来的时候,原本正常的流程会容易堵塞,其中一个潜在的原因就是因为数据隐式转换带来的额外代价...,为了模拟这个问题,我们使用如下的方式创建表 test,分别指定列name为varchar和int类型,来对比查看隐式转换带来的性能问题。...primary key,name varchar(20) ,key idx_name(name)); insert into test values(1,'10'),(2,'20'); 然后我们使用如下的两条语句进行执行计划的对比测试...,从效率上来说,都是不错的。...对这种场景小结一下:对于数值类型的兼容性,需要尽可能保持一致,如果要反向转换为字符类型,是不建议的。

    1.3K20

    Java开发环境不再需要配置classpath

    Java开发环境不再需要配置classpath java入门请不要放弃.png 前言: 之前发布了关于java开发环境配置的文章,经过与网友的交流,我了解到在jdk1.5以后,java开发环境配置的时候...是关于运行环境的类库,主要是用于swing的包,如果不使用可以不配置。...一些使用Java虚拟机(JVM)的第三方应用程序可以修改类路径环境变量,以包含它们使用的库。这样的设置可以保留。...使用-classpath选项优于设置CLASSPATH环境变量,因为您可以为每个应用程序单独设置它,而不影响其他应用程序,也不需要其他应用程序修改它的值。参见CLASSPATH环境变量。...,更推荐使用-classpath选项 总结: 在JDK1.5之后的版本,配置Java环境变量的时候我们不再需要配置classpath,只需要配置Java_Home以及path即可!

    1.9K50

    Java 开发环境不再需要配置 classpath

    前言 之前发布了关于java开发环境配置的文章,经过与网友的交流,我了解到在jdk1.5以后,java开发环境配置的时候,确实不需要对classpath进行配置,但市面上的书籍,以及一些博客、还是老一套...是关于运行环境的类库,主要是用于swing的包,如果不使用可以不配置。...一些使用Java虚拟机(JVM)的第三方应用程序可以修改类路径环境变量,以包含它们使用的库。这样的设置可以保留。...使用-classpath选项优于设置CLASSPATH环境变量,因为您可以为每个应用程序单独设置它,而不影响其他应用程序,也不需要其他应用程序修改它的值。参见CLASSPATH环境变量。...总结: 在JDK1.5之后的版本,配置Java环境变量的时候我们不再需要配置classpath,只需要配置Java_Home以及path即可!

    2.3K10

    直播开发需要什么样的开发环境

    数据传输: 将编码完成后的音视频进行传输,现在传输方式多为CDN选择距离用户最近的服务器进行传输。 解码: 使用相关硬件或软件对接收到的编码后的音视频数据进行解码,得到可以直接显示的图像/视频。...RTMP协议就像一个用来装数据包的容器,这些数据既可以是AMF格式的数据,也可以是FLV中的视音频数据,一个单一的连接可以通过不同的通道传输多路网络流,这些通道中的包都是按照固定大小包传输的。...RTP实行有序传送,RTP中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,如在视频解码中,就不需要顺序解码。...RTCP的主要功能是为RTP所提供的服务质量提供反馈,收集相关媒体连接的统计信息,例如传输字数节数,传输分组数,丢失分组数,单向和双向网络延迟等。...网络应用程序可以利用RTCP所提供的信息来提高服务质量,比如限制流量或改用压缩比小的编解码器。

    1.5K00

    环境搭建-Nginx、MySQL

    环境搭建-Nginx、MySQL 目录 1、安装Nginx 1.1、安装插件 1.2、安装Nginx 1.3、启动Nginx 1.4、配置环境变量 1.5、查看启动状态 1.6、Nginx常用命令 1.7...环境下进行搭建部署 1、安装Nginx Nginx 是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。.../nginx 1.4、配置环境变量 输入Nginx命令时,提示:nginx: command not found,需要配置环境变量。...)http://127.0.0.1:8083 2、安装MySQL 2.1、下载 下载地址: http://dev.mysql.com/downloads/mysql/ 选择Linux通用版本 之后下载需要的版本...firewall-cmd --list-ports 注:提示如下报错,说明firewall命令需要Python2.x版本的支持,但这里已经默认设置指向Python3.x版本。

    1.8K10

    mysql的乐观锁使用_mysql悲观锁需要注意什么

    ,于是乎今天对这几个概念进行学习,揭开它神秘的面纱,缕缕思路记录下我对这几个概念的想法 实验环境: mysql5.6 存储引擎:innoDB 我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性...(数据冲突) 乐观锁 乐观锁不是数据库自带的,需要我们自己去实现。...悲观锁就是在操作数据时,认为此操作会出现数据冲突,所以在进行每次操作时都要通过获取锁才能进行对相同数据的操作,这点跟java中的synchronized很相似,所以悲观锁需要耗费较多的时间。...刚刚说了,对于悲观锁,一般数据库已经实现了,共享锁也属于悲观锁的一种,那么共享锁在mysql中是通过什么命令来调用呢。...与共享锁类型,在需要执行的语句后面加上 for update就可以了 行锁 行锁,由字面意思理解,就是给某一行加上锁,也就是一条记录加上锁。

    92310

    MySQL 集群环境搭建

    MySQL主从复制配置 主节点服务器 地址 192.168.0.105 从节点服务器 地址 192.168.0.107 主节点服务器安装好之后,直接clone 一个即可,不需要重复安装2次。...=105 3.开启日志文件(binLog) log-bin=mysql-bin 配置文件的地址应该在 : # Recommended in standard MySQL setup,否则配置不起作用...4.重启mysql服务 service mysqld restart 验证是否已经配置成功 show variables like '%server_id%'; 能够查询对应配置文件中的server_id...105 3.开启日志文件(binLog) log-bin=mysql-bin 4.添加需用同步的数据库 binlog_do_db=test 5.重启mysql服务 service mysqld...如果出现这种情况,需要将 /var/lib/mysql 文件下的生成uuid 的文件删除,然后再重新启动 mysql 服务,就会重新在生成一个 server-uuid,在下图2中 也 显示了这个重新生成的

    1.2K20
    领券