数据库
文章平均质量分 54
當幸福来敲门
抬头看天,不忘低头看路。
展开
-
Mysql函数group_concat、find_in_set 多值分隔字符字段进行数据库字段值翻译
Mysql函数group_concat、find_in_set进行数据库字段值翻译场景配方表:记录包含的原料sources表示原料,字段值之间用逗号分隔原料表:对应原料id和原料名称现需要查询出的原料结果显示为原料名称,并以逗号分隔。可通过函数group_concat、find_in_set实现...转载 2021-04-21 22:43:18 · 470 阅读 · 0 评论 -
MyBatis的插入后获得主键的方式
需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。方法:在mapper中指定keyProperty属性,示例如下:<insert id="insertUser" useGeneratedKeys="true" keyProperty="userId" parameterType="cn.stu.entity.UserEntity">insertintouser(userName,password,comment)...转载 2021-03-03 17:11:12 · 352 阅读 · 1 评论 -
浅谈MySQL存储引擎-InnoDB&MyISAM
浅谈MySQL存储引擎-InnoDB&MyISAM存储引擎在MySQL的逻辑架构中位于第三层,负责MySQL中的数据的存储和提取。MySQL存储引擎有很多,不同的存储引擎保存数据和索引的方式是不同的。每一种存储引擎都有它的优势和劣势,本文只讨论最常见的InnoDB和MyISAM两种存储引擎进行讨论。本文中关于数据存储形式和索引的可以查看图解MySQL索引MySQL逻辑架构图:InnoDB存储引擎#InnoDB是默认的事务型存储引擎,也是最重要,使用最广泛的存储引擎。在没有特殊情况转载 2021-03-02 22:01:01 · 96 阅读 · 0 评论 -
索引是建的越多越好吗?
索引是建的越多越好吗?明显不是,有以下几点:数据量小的表不需要建立索引,建立会增加额外的索引开销 不经常引用的列不要建立索引,因为不常用,即使建立了索引也没有多大意义。对经常用于查询的字段应该创建索引。 经常频繁更新的列不要建立索引,因为肯定会影响插入或更新的效率 数据重复且分布平均的字段,因此他建立索引就没有太大的效果(例如性别字段,是否上架等等,不适合建立索引) 数据变更需要维护索引,意味着索引越多维护成本越高。当对表中的数据进行增加、删除、修改时,索引也需要动态的维护,降低了数据的维护转载 2021-03-02 16:52:04 · 1465 阅读 · 0 评论 -
联合索引最左匹配原则成因
使用col3,col2,col1 顺序建立联合索引,通过col3的值建立一个b+tree ,通过关键值去查找“Alice”,在叶子节点中找到两个“Alice”,那么“Alice”对于col2、col1对应的值,那么会对col2,col1分别进行一个有序的排列,因此从索引中找到col2,col1 就得有col3 通过 col3 索引找到col2,col1,因此,单独依靠col2是没办法走索引的,想要查询走索引,必须要加上col3的列条件。...原创 2021-03-02 16:26:18 · 222 阅读 · 0 评论 -
如何定位并优化慢查询Sql
根据慢日志定位慢查询SQL。 查询慢日志相关变量,并进行设置:主要关注下述三个变量:long_query_time、show_query_log_file、show_query_log慢查询sql会被记录到show_query_log_file 日志文件中。show variables like '%quer%'; -- 查询相关变量show status like '%show_queries%'; -- 统计慢查询数量 使用explain等工具分析SQL。 ex..原创 2021-03-02 15:32:58 · 160 阅读 · 0 评论 -
密集索引和稀疏索引的区别
密集索引和稀疏索引的区别a)密集索引文件中的每个搜索码值都对应一个索引值,其叶子节点保存不仅仅是键值,还保存了位于同一行记录里的其他列的信息,由于密集索引决定了表的物理排列顺序,一个表只能有一个物理排列顺序,所以一个表只能创建一个密集索引。b)稀疏索引文件只为索引码的某些值建立索引项,其叶子节点仅保存了键位信息以及该行数据的地址或者主键。咱们来对MySql做具体分析,mysql主流的两种存储引擎,一种是MyISAM,另外一种是Inodb,前者不管是主键索引,唯一键索引或者普通索引,其索引均属原创 2021-03-02 13:59:57 · 159 阅读 · 0 评论 -
clickhouse 基础知识
转自:https://www.jianshu.com/p/a5bf490247ea Clickhouse是一个用于联机分析处理(OLAP)的列式数据库管理系统(columnar DBMS)。传统数据库在数据大小比较小,索引大小适合内存,数据缓存命中率足够高的情形下能正常提供服务。但残酷的是,这种理想情形最终会随着业务的增长走到尽头,查询会变得越来越慢。你可能通过增加更多的内存,订购更快的...转载 2019-01-23 10:12:31 · 8182 阅读 · 1 评论 -
Oracle Job定时任务的使用详解
转自:http://www.cnblogs.com/Chestnuts/p/7068456.htmlOracle中的job能为你做的就是在你规定的时间格式里执行存储过程,定时执行一个任务 。下面是一个小案例,定时每15分钟向一张表插入一条数据一、步骤11.创建一张测试表-- Create tablecreate table A8( a1 VARCHAR2(500))tablespace...转载 2018-04-14 22:56:52 · 226 阅读 · 0 评论 -
Oracle数据库导入导出命令!
oracle数据库导入导出命令!转自:http://www.cnblogs.com/fjfzhkb/archive/2007/09/03/879807.htmlOracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)转载 2017-05-27 09:54:54 · 320 阅读 · 0 评论 -
PL/SQL Developer(解压版)连接64位的Oracle11g
PL/SQL Developer(解压版)连接64位的Oracle11g在Windows 64位系统上安装64位的Oracle数据库,但是没有对应的64位PL/SQL Developer,此时要用PL/SQL Developer(32位)来直接连接Oracle,需要做适当的设置。 TNS简要介绍与应用 Oracle中TNS的完整定义:transparence Network转载 2017-04-24 14:11:36 · 576 阅读 · 0 评论 -
windows下如何在一台机器上安装两个MYSQL数据库
环境:OS:Windows 2003DB:MYSQL5.5 1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy到E盘 4.创建第二个mysql的my.ini文件第一个mysql的my.ini文件默认是在如下转载 2017-01-07 13:12:04 · 3051 阅读 · 1 评论 -
linux 下安装MySQL
1. 安装必要的组件12# yum install –y autoconf automake imake libxml2-devel\ expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel2. 下载解压mysql软件123转载 2016-12-25 22:15:52 · 400 阅读 · 0 评论 -
安装配置解压版Mysql方法
转载自:http://blog.csdn.net/landylxy/article/details/51251622?locationNum=8&fps=11.下载解压版的MySQL,并解压到安装目录下2.复制解压包中my-default.ini文件并改名为my.ini。修改my.ini相关参数3.配置环境变量4.在CMD中安转载 2016-12-24 23:01:45 · 233 阅读 · 0 评论 -
oracle 备份
手工备份单表备份(前提库的结构是一样的) 导出: 开始钮->运行->输入CMD->进入DOS界面 EXP 用户名/密码@连接字符串 GRANTS=Y TABLES=(stu) file=C:\文件名.DMP 导入: 开始钮->运行->输入CMD->进入DOS界面 IMP 用户名/密码@连接字符串 IGNORE=Y TABLES=(stu) FULL=N file=C:\文件名.DMP转载 2015-01-01 14:02:38 · 375 阅读 · 0 评论 -
Oracle type (自定义类型的使用)
oracle - type type定义:oracle中自定义数据类型oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式,如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型格式 :create or转载 2014-11-21 15:19:35 · 13720 阅读 · 0 评论 -
Mysql,SqlServer,Oracle主键自动增长的设置
Mysql,SqlServer,Oracle主键自动增长的设置参考文献http://blog.csdn.net/andyelvis/article/details/24468651、把主键定义为自动增长标识符类型MySql在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:create table cu转载 2014-10-29 21:44:41 · 393 阅读 · 0 评论