mysql
不秃头的程序员Zzz
这个作者很懒,什么都没留下…
展开
-
数据表底层的B+树的叶子结点为啥用类似双链表连接起来
当我们在使用范围查找的时候 只要找到那个边界值就可以通过指针去查找其他所需要的数据就不用再从根结点开始遍历 减少了所消耗的时间 增加了效率...原创 2019-11-20 18:07:49 · 6841 阅读 · 0 评论 -
为什么要建立主键 而且要自增又要int
第一:数据表的B+树是通过主键的关键字来建立索引的 这时底层原因第二:自增是为了 是后面添加的数据有一个指定的插入方式 因为要是添加在那些已经满的节点的话会使树的结构表变化 不利于查询第三:int是为了查找过程中更方便 查找过程中我们是 通过 搜索树的方式查找的 即对比数值大小 大的往右节点走 小的往左节点走。 而如果用其他类型变量 大小比较的过程会很浪费时间 降低效率...原创 2019-11-20 18:03:07 · 772 阅读 · 3 评论 -
b+树存储和hash存储数据库的优劣
b+树:通过搜索树的特性来查找数据hash:通过hash函数对应的映射来查找数据在等值方面hash表的效率更高 可以从大量数据中直接找到数据而在范围查找的方面 hash表就不能生效了 只能通过全表扫描的方式这时b+树的优势就体现出来了...原创 2019-11-20 17:14:01 · 539 阅读 · 0 评论 -
聚集索引和非聚集索引---myisam和innodb的区别
什么是聚集索引?指的是数据和指正不分开,叶节点包含完整的数据 INNODB引擎就是聚集索引在文件夹中 当你建完一个以INNODB为引擎的表 会生成两个文件 frm.和.idb 文件 frm是存储表结构的 而idb就是存储索引和数据的而非聚集索引是指索引和数据是分开的 在文件夹中 当你建完一个以myisam为引擎的表会生成三个文件 frm.myi 和myd 三个文件夹 同样的frm ...原创 2019-11-20 17:07:33 · 294 阅读 · 0 评论 -
为什么数据库底层用B+树
使用树的话不利于查找所以我们使用搜索二叉树但是用搜索二叉树后假如我们一直插入的是递增的关键字导致形成的是一个单链表又不利于查找没有效率所以我们又想引入红黑树 但是红黑树在数据过多时会导致高度过高会经历多次磁盘I/O读取严重影响效率所以又想引入B树 但B树在数据太多的情况下高度还是过高还是不能满足需求这是又用到了B+ 树 因为B+树非叶子节点的节点不带指向数据的指针数据所以可以跟多地保...原创 2019-11-20 11:57:35 · 379 阅读 · 0 评论 -
总结一下工作中的MySQL调优经验
多数时候数据库会成为整个系统的瓶颈,比如大的数据量的插入与修改,频繁的亦或是高流量的访问,都会对数据库系统带来很大的压力。我在平时工作的时候,总是会遇到大数据量的插入、修改或是查询的操作,所以在工作的时候积累了一些MySQL数据库的调优方式,在这里与大家分享一下。1、缓存。缓存是解决这类问题的一把手。它既可以加快整个系统(并非数据库系统,使用缓存的时候并没有去访问数据库)的访问速度,也可以减少数...转载 2019-11-19 18:20:48 · 109 阅读 · 0 评论 -
ResultSet遍历结果集
可以把表中的每一行看做一个对象所以我们可以创建一个类 来创建这些对象然后用LIst集合 容器来接收这些对象所以步骤一 :创建表的对象的类步骤二:获取数据步骤三:创建对象步骤四:装载集合步骤五:遍历package cn.itcast.jdbc;import java.sql.*;import java.util.ArrayList;import java.util.List...原创 2019-11-19 01:12:28 · 1652 阅读 · 0 评论 -
ResultSet类的基本使用
package cn.itcast.jdbc;import java.sql.*;/** * @author 许泽鑫 * @data 2019/11/18 - 21:50 */public class JdbcDemo6 { public static void main(String[] args) { String n = null; C...原创 2019-11-19 01:08:48 · 281 阅读 · 0 评论 -
jdbc-练习DDL语句
package cn.itcast.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;/** * @author 许泽鑫 * @data 2019/11/18 - 21:06 */public ...原创 2019-11-19 01:07:45 · 217 阅读 · 0 评论 -
jdbc-练习delete操作
package cn.itcast.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;/** * @author 许泽鑫 * @data 2019/11/18 - 21:06 */public ...原创 2019-11-19 01:07:00 · 182 阅读 · 0 评论 -
jdbc练习——update语句
package cn.itcast.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;/** * @author 许泽鑫 * @data 2019/11/18 - 20:17 */public ...原创 2019-11-19 01:06:07 · 1308 阅读 · 0 评论 -
jdbc练习——insert语句
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;/** * @author 许泽鑫 * @data 2019/11/18 - 19:37 */public class JdbcDemo2 { pub...原创 2019-11-19 01:05:21 · 564 阅读 · 0 评论 -
ResultSet数据库查询有关的类型
ResultSet:结果集对象next();将游标从当前的一行向下一定一行getxx(); xx代表数据类型 int 返回int的值参数 int :代表列的编号,从1开始 如 getString(1);参数String :代表列的名称 getDouble(“列的名称”)注意:使用时,应该5,PreparedStatement:执行sql的对象...原创 2019-11-19 01:03:07 · 349 阅读 · 0 评论 -
jdbc
期望使用统一的一套java代码可以操作所有的关系型数据库sun公司程序员JDBC: 官方定义了一套操作所有关系型数据库的规则(接口)即接口.各个数据库厂商去实现这套接口提供数据库jar包,我们可以使用这套接口编程,真正执行的代码是驱动jar包中的类比如 Person接口 Work类 Person p = new Work();数据库驱动: 数据库厂商:去实现这个接口的实现类来操作...原创 2019-11-18 21:38:24 · 65 阅读 · 0 评论 -
mysql-jdbc 6.0 serverTimezone参数详解
2.1.遇到的问题 servertime=UTC导致时间差8个小时(MySQL jdbc 6.0 版本以上必须配置此参数)虽然上面加上时区程序不出错了,但是我们在用java代码插入到数据库时间的时候却出现了问题。比如在java代码里面插入的时间为:2017-08-21 17:29:56但是在数据库里面显示的时间却为:2017-08-21 09:29:563.根本原因因为时区设置的问题。...原创 2019-11-18 20:08:00 · 177 阅读 · 0 评论 -
The Server time zone value 'XXXXX' 乱码 -- MySQL数据库连接报错
说明:使用MyEclipse IDE工具练习项目中使用MySQL数据库,在MyEclipse中使用MyEclipse DataBase 连接MySQL数据库MySQL版本:8.0.12MySQL驱动:mysql-connector-java-8.0.12.jar错误信息:mysql java.sql.SQLException: The server time zone value‘XXX...原创 2019-11-18 17:44:00 · 153 阅读 · 0 评论 -
事物
概念:一系列严密的操作,只能一起成功或失败(产生临时数据,不提交不回滚关闭后重开后恢复),成功后提交,失败则回滚开启事物:START TRANSACTION;回滚COMMIT;提交:COMMIT4.MYSQL数据库中数据默认自动提交DML语句自动提交一次事物手动提交需要先开启事物再交修改事物的默认提交方式:查看默认提价方法SELECT @@autocommit 1代表自动...原创 2019-11-17 08:28:46 · 92 阅读 · 0 评论 -
sql查询语句的执行顺序
①from 主表② 连接类型 join 副表③ on 连接条件④ where 筛选条件⑤group by 分组⑥having 分组后的筛选⑦select 所要查询的字段⑧order by 排序类型⑨limit 初始索引,查多少个...原创 2019-11-12 11:42:19 · 115 阅读 · 0 评论 -
mysql增删改查语句
查看数据库show databases;使用数据库use 数据库名;创建数据库CREATE DATABASE 数据库名;删除数据库DROP DATABASE 数据库名;创建表create table 表名(列名1 类型(长度) [约束],列名2 类型(长度) [约束],……);长度区别int类型带长度:不影响存取值,即使设定的值超出了长度的范畴,也能存,如果没有达到设...原创 2019-10-15 14:43:42 · 91 阅读 · 0 评论 -
MYSQL安装报错 -- 出现Failed to find valid data directory.
运行环境:windows10数据库版本:mysql.8.0.12安装方式:rpm包直接安装问题描述:mysql初始化的时候找不到对应的数据库存储目录报错代码:2018-10-13T03:29:24.179826Z 0 [System] [MY-010116] [Server] D:\Program Files\MySQL\bin\mysqld.exe (mysqld 8.0.12) s...原创 2019-10-14 17:28:30 · 3385 阅读 · 0 评论