好多人在调优Mysql的时候,总是对open_tables和opend_tables两个参数分别不清。 网上好多解释都是这样的: open_tables:当前打开表的数量 opened_tables:当前已经打开表的数量 很简单的解释,可是这两句话看起来有点类似。 下面我来解释一下: open_tables:是当前在缓存中打开表的数量。 opened_tables:是mysql自启动起,打开表的数量。 我们知道,假如没有缓存的话,那么mysql服务在每次执行一个语句的时候,都会先打开一个表。当s
2024-11-08Mysql之删除表中数据 语法 以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法: DELETE FROM table_name [WHERE Clause] 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。你可以在 WHERE 子句中指定任何条件您可以在单个表中一次性删除记录。 当你想删除数据表中指定的记录时 WHERE 子句是非常有用的。 从命令行中删除数据 这里我们将在 SQL DELETE 命令中使用 WHERE 子句来删除 MySQL
2024-11-08集群中session安全和同步是个最大的问题,下面是我收集到的几种session同步的方案,希望能通过分析其各自的优劣找出其适应的场景。 1. 客户端cookie加密 这是我以前采用的方式,简单,高效。比较好的方法是自己采用cookie机制来实现一个session,在应用中使用此session实现。 问题:session中数据不能太多,最好只有个用户id。 参考实现: 2. application server的session复制 可能大部分应用服务器都提供了session复制的功能来实现集群,
2024-11-08BST(二叉查找树,排序二叉树),如果数据有序的话,组成的二叉树会形成单列的形式,导致查询效率低AVL(平衡二叉树) 使树的左右高度差的绝对值不超过2,保证了查询效率。但是插入和删除会带来多次旋转,导致效率低RBT(红黑树),是一种弱化的平衡二叉树,在插入、删除的时候,减少了旋转的次数B-树,由于二叉树只有两个子树,在磁盘上进行查找的时候,效率较低,所以出现了多分支的树,即B树(2-3树,2-3-4树)B+树,对B-树作了一些限制 为什么数据库使用B树而不用AVL或者红黑树呢?AVL树和红黑树这
2024-11-08B+ 树非叶子节点上是不存储数据的,仅存储键值,而 B 树节点中不仅存储键值,也会存储数据。 InnoDB 中页的默认大小是 16KB。 如果不存储数据,那么就会存储更多的键值,相应的树的阶数(节点的子节点树)就会更大,树就会更矮更胖,如此一来我们查找数据进行磁盘的 IO 次数又会再次减少,数据查询的效率也会更快。 因为 B+ 树索引的所有数据均存储在叶子节点,而且数据是按照顺序排列的。 那么 B+ 树使得范围查找,排序查找,分组查找以及去重查找变得异常简单。
2024-11-08查询所有序列: select *from user_sequences; 创建序列: create sequence SEQ_BUILD_CONTENT minvalue 1 --增长最小值 maxvalue 9999999999999999999999999999 --增长最大值,也可以设置NOMAXvalue -- 不设置最大值 start with 1 --从101开始计数 increment by 1 --自增步长为1 cache 20 --设置缓存cache个序列,如果系统
2024-11-08最近发现使用了springMVC的新项目偶尔出现connection closed,同事反映当访问同一个controller时经常出现类似错误 上回发现在使用 <context:component-scan base-package="com.controller" /> 对@controller注解扫描生成的controller,若是没有加@Scope("prototype")的话,生成出来的controller就是单例的。见 虽然发现这个问题但是由于connection closed的错误现
2024-11-08最近处理一个压缩包,里面有几百上千个excel文件。本来可以通过直接将所有excel合并至一个大excel文件,然后再导入至数据库。 但是这样太麻烦了,于是写了两个类来处理一个类处理excel文件,一个类读取文件夹下的文件。 下面给出代码 解析excel类(包括读写更新操作) public class ExcelFile{ /** * read * @param file */ public static void readExl(String file){ try {
2024-11-08SELECT CAST(column_name AS DECIMAL(10,2)) FROM table_name; CAST 函数被用来将 column_name 字段的数值转换为保留两位小数的十进制数值。其中,10 表示这个十进制数值总共有 10 位数字,包括小数点两侧的数字;2 表示小数点后面有 2 位数字。
2024-11-08NuGet包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Tools Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCore.Design NuGet包管理器控制台运行 一、打开NuGet包管理器控制台,依次运行以下四个命令: Install-Package Microsoft.EntityFrameworkCore.SqlServer
2024-11-08