数据库
-Thinker
这个作者很懒,什么都没留下…
展开
-
postgreSQL触发器
DROP TABLE IF EXISTS "public"."sales_opportunities_service_history";DROP SEQUENCE IF EXISTS "public"."sales_opportunities_serv_history_id_seq";CREATE SEQUENCE "public"."sales_opportunities_ser原创 2016-07-25 09:44:52 · 987 阅读 · 0 评论 -
Mysql 8.0 新增特性
1. 数据字典新增了事务型的数据字典,用来存储数据库对象信息之前,字典数据是存储在元数据文件和非事务型表中的2. 账号权限管理添加了对 “角色” 的支持,角色会对应一套权限,角色可以被添加、删除,角色上的权限也可以进行增删可以对用户账号添加和删除角色3. InnoDB 提升完善了对自增计数器(auto-increment counter)的管理,例如设置转载 2017-02-15 21:14:56 · 5610 阅读 · 0 评论 -
MySQL 如何存储长度很长的数据字段
最近,在工作中遇到了MySQL中如何存储长度较长的字段类型问题,于是花了一周多的时间抽空学习了一下,并且记录下来。MySQL大致的逻辑存储结构在这篇文章中有介绍,做为基本概念:InnoDB 逻辑存储结构注:文中所指的大数据指的是长度较长的数据字段,包括varchar/varbinay/text/blob。Compact行格式我们首先来看一下行格式为Compa转载 2017-02-15 20:49:27 · 39948 阅读 · 0 评论 -
MySQL大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段尽量使转载 2017-02-24 09:09:06 · 484 阅读 · 0 评论 -
B树、B-树、B+树、B*树【转】,mysql索引
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,转载 2017-03-03 09:00:37 · 338 阅读 · 0 评论 -
mysql数据库开发常见问题及优化
mysql 数据库是被广泛应用的关系型数据库,其体积小、支持多处理器、开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高。在使用 mysql 的过程中不规范的 SQL 编写、非最优的策略选择都可能导致系统性能甚至功能上的缺陷。恰巧就在前几天,本人所在公司的云事业部举办了一场关于 mysql 的技术交流会,其中一个 part 正是聚焦于开发过程中 mysql 数据库设计及使转载 2017-02-13 13:29:22 · 449 阅读 · 0 评论 -
Java 软件高级工程师笔试题
【智力部分】(30分)1. 烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?(5分)两头同时烧2. 4,4,10,10,加减乘除,怎么出24点?四个数字分别只能用一次(5分)(10*10-4)/43. 如果你有无穷多的水,一个容积为3L的和5L的提桶,你如何准确称出 4L的水?(5分)第一步:向5L的通中放两次3L水,这时3L水桶剩1L水。转载 2017-02-28 14:37:09 · 1520 阅读 · 0 评论 -
SQL行转列
1.SQL行转列1.1 test表结构1.2 test表数据1.3 查询SQL语句SELECT a.`year`, m1, m2, m3, m4FROM ( ( SELECT `year`, amout AS m1 FROM test WHERE `month` = 1 ) a LEFT原创 2017-02-28 14:01:43 · 502 阅读 · 0 评论 -
mysql SQL优化
我用的数据库是mysql5.6,下面简单的介绍下场景课程表create table Course(c_id int PRIMARY KEY,name varchar(10))数据100条学生表:create table Student(id int PRIMARY KEY,name varchar(10))数据70000条学生成绩表SCC转载 2016-08-11 09:29:13 · 292 阅读 · 0 评论 -
触发器详解
一个触发器是一种声明,告诉数据库应该在执行特定的操作的时候执行特定的函数。 触发器可以附加到表、视图和外部表上。在表或外部表上,触发器可以定义在一个INSERT, UPDATE, 或 DELETE命令之前或者之后执行, 要么是对每行执行一次(for row),要么是对每条SQL语句执行一次(for statement)。触发器可以为TRUNCATE语句触发。如果发生触发器事件,原创 2016-08-31 21:02:00 · 4847 阅读 · 0 评论 -
mysql自带的压力测试工具
mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试例如我们拿到了一台服务器,准备做为数据库服务器,那么这台服务器的硬件资源能够支持多大的访问压力呢?优化了操作系统的内核参数后,是否提升了性能?调整了Mysql配置参数后,对性能有多少影响转载 2016-08-09 10:09:08 · 14130 阅读 · 0 评论 -
mysql使用建议,尽量避免这些问题
做服务器端开发的同学们,相信对于mysql应该是十分熟悉,但是一旦真正出现问题,你是否能够快速的发现问题的起因,并且解决呢?一旦问题涉及到数据库层面,往往不是那么好解决的,通常来说,我们需要提前做应对未来可能出现问题的准备。下面是几条针对mysql使用的优化建议:尽量减少数据库上的计算操作将那些需要耗费cpu资源计算数据的操作尽可能的放在服务器上运行,不要所有的数学计算全部抛给数据转载 2016-08-16 13:37:35 · 432 阅读 · 0 评论 -
Mysql 5.7 的‘虚拟列’是做什么?
Mysql 5.7 中推出了一个非常实用的功能虚拟列 Generated (Virtual) Columns对于它的用途,我们通过一个场景来说明假设有一个表,其中包含一个 date 类型的列`SimpleDate` dateSimpleDate 是一个常用的查询字段,并需要对其执行日期函数,例如SELECT ... WHERE dayofweek(Simpl转载 2016-08-16 10:25:19 · 1512 阅读 · 0 评论 -
postgreSQL常用命令
连接数据库 引用./psql -U username -d dbname列举数据库 引用psql> \l列举表 引用psql> \dt执行SQL文件 引用psql> \i test.sql查看执行时间 引用psql> \timing psql> select * from tablename;查看表结构 引用转载 2016-07-19 10:18:22 · 375 阅读 · 0 评论 -
postgresql系统表
整理了postgresql的系统表关联的常用SQL,如下:--查看数据库select * from pg_database;--查看表空间select * from pg_tablespace;--查看语言select * from pg_language;--查看角色用户select * from pg_user;select * from pg_shadow;sel转载 2016-07-18 11:31:32 · 871 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分转载 2017-03-16 09:25:02 · 793 阅读 · 0 评论