
数据库
王老诩
茂密
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关系型数据库设计理论
函数依赖记 A->B 表示 A 函数决定 B,也可以说 B 函数依赖于 A。如果 {A1,A2,... ,An} 是关系的一个或多个属性的集合,该集合函数决定了关系的其它所有属性并且是最小的,那么该集合就称为键码。对于 A->B,如果能找到 A 的真子集 A',使得 A'-> B,那么 A->B 就是部分函数依赖,否则就是完全函数依赖。对于 A->B,...原创 2019-05-30 13:20:19 · 247 阅读 · 0 评论 -
mysql慢查询日志以及性能调优
优化概述MySQL数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU瓶颈一般发生在从磁盘上读取数据到内存的时候。磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应用分布在网络上,那么查询量相当大的时候那么平瓶颈就会出现在网络上。我们可以用mpstat, iostat, sar和vmstat来查看系统的性能状态。除了服务器硬件的性能瓶颈,对于MySQL系统本身,我们可以使用工...转载 2019-05-30 22:47:08 · 406 阅读 · 0 评论 -
SQL语句汇总
数据库创建与使用:CREATE DATABASE data;USE data;创建表CREATE TABLE mytable ( # int 类型,不为空,自增 id INT NOT NULL AUTO_INCREMENT, # int 类型,不可为空,默认值为 1,不为空 col1 INT NOT NULL DEFAULT 1, # 变长字符串类型,最长为 ...原创 2019-05-30 15:31:59 · 530 阅读 · 0 评论 -
Mysql的优化
Mysql的优化,大体可以分为三部分:索引的优化,sql语句的优化,表的优化。索引优化只要列中含有NULL值,就最好不要在此列设置索引,复合索引如果有NULL值,此列在使用时也不会使用索引。 索引的字段尽量要短一点。 对于经常在where子句使用的列,最好设置索引,这样会加快查找速度。 对于有多个列where或者order by子句的,应该建立复合索引。 尽量不要在列上进行运...原创 2019-05-19 10:15:08 · 205 阅读 · 0 评论 -
mysql的索引
索引的优缺点优点 :创建索引可以大大提高系统的性能。 1️⃣可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 2️⃣通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 3️⃣可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 4️⃣在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组...原创 2019-05-19 10:15:24 · 168 阅读 · 0 评论 -
mysql相关的的基础知识
char 与 varchar 类型的区别(1)char 的长度是不可变的,而varchar的长度是可变的,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的。(2)char 类型的存取速度要比 varchar 要快得多,因为其长度固定,方便程序的存储与查找。(3)char 的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而...原创 2019-05-19 10:14:51 · 157 阅读 · 0 评论 -
JDBC连接数据库执行查询的全过程
package com.yangshengjie.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement; public class JDBCTest {...原创 2019-05-18 14:45:18 · 1936 阅读 · 0 评论 -
mysql数据库的事务技术以及原理
事务的基本概念一个事务要么成功要么失败,不能有中间状态(原子性);一个事务一旦完成,后面的事务都要基于这个完成后的状态(一致性);未完成的实务不会相互影响,事务的中间状态不会被其他的事务感知到(隔离性);事务一旦完成就是持久的。(持久性)事务操作可能导致的问题1)脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据。2)不可重复读:事务 A 多次读取同一数...原创 2019-05-18 14:39:12 · 207 阅读 · 0 评论 -
mysql进阶问题与解答
数据库如何应对大规模写入和读取传统的关系型数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的,比如转账业务。这个时候NoSQL肯定是无法满足的,所以还是需要使用关系性数据...原创 2019-05-18 14:05:13 · 259 阅读 · 0 评论 -
mysql的存储引擎MyISAM和InnoDB
MyISAM和InnoDB区别:MyISAM 不支持事物,只支持表级锁,不支持外键,物理结构(三个文件),非聚簇索引。InnoDB 支持事务和行级锁,支持外键,物理结构(两个文件),聚簇索引。如果系统读多写少,对原子性要求低,那么MyISAM最好的选择。且MyISAM恢复速度快,可直接用备份覆盖恢复。如果系统读少写多的时候,尤其是并发写入高的时候,InnoDB就是首选了。因...原创 2019-05-18 13:28:25 · 240 阅读 · 0 评论 -
MySQL分区与传统的分库分表
传统的分库分表传统的分库分表都是通过应用层逻辑实现的,对于数据库层面来说,都是普通的表和库。分库分库的原因首先,在单台数据库服务器性能足够的情况下,分库对于数据库性能是没有影响的。在数据库存储上,database只起到一个namespace的作用。database中的表文件存储在一个以database名命名的文件夹中。比如下面的employees数据库:mysql> s...转载 2019-08-14 11:32:29 · 215 阅读 · 0 评论