table

mysql添加索引

落爺英雄遲暮 提交于 2020-03-07 10:57:40
1.PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.UNIQUE(唯一索引) mysql>ALTER TABLE `table_name` ADD UNIQUE (`column` ) 3.INDEX(普通索引) mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 4.FULLTEXT(全文索引) mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column` ) 5.多列索引 mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` ) 来源: https://www.cnblogs.com/roy-blog/p/9365647.html

mysql 临时表和内存表

眉间皱痕 提交于 2020-03-07 09:02:53
查看内存表的最大值: show variables like '%heap%';  mysql> show variables like '%heap%'; +---------------------+----------+ | Variable_name | Value | +---------------------+----------+ | max_heap_table_size | 16777216 | +---------------------+----------+ 1 row in set (0.01 sec) 修改方法: 1)启动选项中修改启动mysql的时候加参数 -O max_heap_table_size=32M 2)修改MySQL的配置文件,在[mysqld]的段中增加 max_heap_table_size=32M , 3)MySQL客户端工具中执行命令 set global max_heap_table_size=32777216; 注意 内存表 对于变长数据的处理,例如:varchar(50)这样的字段,对于MyISAM的表结构而言,会按照字段中实际存储的内容计算空间, 而内存表则按照char(50)的方式计算空间,这样就会使内存表占据的空间大幅度上升 内存表不支持like操作,性能是非常的差。 内存表: 1. 参数控制:max_heap

postgresql 备份恢复(一)

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-07 07:21:38
备份恢复对于每个数据来说都是非常重要的。一般的数据库都支持冷备份的方式,冷备份可以保证数据库在此刻的完整性。但是其缺点也非常的明显,为保持数据一致性。冷备份期间数据库中相关数据是不能够使用的,就大大影响的系统的可用性。不管怎样冷备份在很多的情况下还是很有用的。 数据库的冷备份一般支持两种方式: 1,操作系统级别的命令备份(cp,copy) 2,数据库工具备份(pg_dump) 针对postgresql数据库的pg_dump工具进行了一下测试(还碰到一个小问题)。 pg_dump工具命令与参数的参考: 代码 pg_dump dumps a database as a text file or to other formats.Usage: pg_dump [OPTION]... [DBNAME]General options: -f, --file=FILENAME output file name -F, --format=c|t|p output file format (custom, tar, plain text) -i, --ignore-version proceed even when server version mismatches pg_dump version -v, --verbose verbose mode -Z, --compress=0-9

大数据量分页问题优化sql代码

我的梦境 提交于 2020-03-07 06:56:05
以下分享一点我的经验 一般刚开始学SQL语句的时候,会这样写 代码如下: SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但在数据达到百万级的时候,这样写会慢死 代码如下: SELECT * FROM table ORDER BY id LIMIT 1000000, 10; 也许耗费几十秒 网上很多优化的方法是这样的 代码如下: SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIMIT 10; 是的,速度提升到0.x秒了,看样子还行了 可是,还不是完美的! 以下这句才是完美的! 代码如下: SELECT * FROM table WHERE id BETWEEN 1000000 AND 1000010; 比上面那句,还要再快5至10倍 另外,如果需要查询 id 不是连续的一段,最佳的方法就是先找出 id ,然后用 in 查询 代码如下: SELECT * FROM table WHERE id IN(10000, 100000, 1000000...); 再分享一点 查询字段一较长字符串的时候,表设计时要为该字段多加一个字段,如,存储网址的字段 查询的时候,不要直接查询字符串,效率低下,应该查询该字串的crc32或md5 来源:

MySql的多存储引擎架构

六眼飞鱼酱① 提交于 2020-03-07 05:26:07
支持多种存储引擎是众所周知的MySQL特性,也是MySQL架构的关键优势之一。如果能够理解MySQL Server与存储引擎之间是怎样通过API交互的,将大大有利于理解MySQL的核心基础架构。本文将首先介绍MySQL的整体逻辑架构,然后分析MySQL的存储引擎API并介绍如何编写自己的MySQL存储引擎。 MySQL逻辑架构 MySQL作为一个大型的网络程序、数据管理系统,架构非常复杂。下图大致画出了其逻辑架构。 MySQL由以下几部分组成: 连接池组件。 管理服务和工具组件。 SQL接口组件。 查询分析器组件。 优化器组件。 缓冲(Cache)组件。 插件式存储引擎。 物理文件。 Connectors MySQL首先是一个网络程序,其在TCP之上定义了自己的应用层协议。所以要使用MySQL,我们可以编写代码,跟MySQL Server建立TCP连接,之后按照其定义好的协议进行交互。当然这样比较麻烦,比较方便的办法是调用SDK,比如Native C API、JDBC、PHP等各语言MySQL Connector,或者通过ODBC。但通过SDK来访问MySQL,本质上还是在TCP连接上通过MySQL协议跟MySQL进行交互。 Connection Management 每一个基于TCP的网络服务都需要管理客户端链接,MySQL也不例外。MySQL会为每一个连接绑定一个线程

element-ui 树形表格 多选框问题

依然范特西╮ 提交于 2020-03-07 04:35:35
element-ui版本:2.13.0 在使用的树形表格配合多选框的时候: 勾选父节点菜单,不能联动选择到父节点 勾选全选的时候,不能选全(子节点没有选中) 百度一圈都没有找到答案,谷歌又不能用。不过问题还是要解决的嘛,就去读了一圈源码,迷迷糊糊的,不过还是搞清楚了一些东西。 template: <el-table ref="multipleTable" :data="deptData" tooltip-effect="dark" style="width: 100%" row-key="id" :treeCheckBox="false" // 改了源码新加的 border @select-all="selectDeptAll" @select="selectDeptCheck" :tree-props="{ children: 'children', hasChildren: !'hasChildren' }" default-expand-all > <el-table-column type="selection" width="55"> </el-table-column> <el-table-column prop="title" label="部门名称" width="120"> </el-table-column> </el-table>

MySQL编码latin1转utf8

半腔热情 提交于 2020-03-07 04:23:34
mysql移植含有中文的数据时,很容易出现乱码问题。很多是在从mysql4.x向mysql5.x移植的时候出现。mysql的缺省字符集是 latin1,在使用mysql4.x的时候,很多人都是用的latin1字符集。而当使用mysql5时往往愿意使用utf8。那么我们的任务是不是要 把数据中的字符从latin1转为utf8呢?   不是的。   用一句不大准确,但又比较形象的说法是,在之前的系 统中,我们是用latin1保存了使用gb系列字符集(gbk、gb2312等)的汉字。怎么这样说呢?   mysql> show create table test\G   *************************** 1. row ***************************   Table: test   Create Table: CREATE TABLE `test`   `a` varchar(100) default NULL    ) ENGINE=InnoDB DEFAULT CHARSET=utf8   1 row in set (0.00 sec)    mysql> show create table testlatin1\G    *************************** 1. row *************************

【14笔记】HBase实战--微博案例

ⅰ亾dé卋堺 提交于 2020-03-07 03:07:45
1、需求分析 1、微博内容的浏览,数据库表设计 2、用户社交体现:关注用户,取关用户 3、拉取关注的人的微博内容 2、代码设计 1)创建命名空间以及表名的定义 2)创建微博内容表 3)创建用户关系表 4)创建用户微博内容接收邮件表 5)发布微博内容 6)添加关注用户 7)移除(取关)用户 8)获取关注的人的微博内容 9)测试 1)创建命名空间以及表名的定义 //获取配置conf private Configuration conf = HBaseConfiguration . create ( ) ; //微博内容表的表名 private static final byte [ ] TABLE_CONTENT = Bytes . toBytes ( "weibo:content" ) ; //用户关系表的表名 private static final byte [ ] TABLE_RELATIONS = Bytes . toBytes ( "weibo:relations" ) ; //微博收件箱表的表名 private static final byte [ ] TABLE_RECEIVE_CONTENT_EMAIL = Bytes . toBytes ( "weibo:receive_content_email" ) ; public void initNamespace (

element 中的table表头动态渲染

自作多情 提交于 2020-03-07 02:38:47
element 中的table表头动态渲染 实际开发过程中遇到需求,表格中表头不一定是固定的,表头需要动态渲染。 <el-table :data="this.tableData" height="525"> <el-table-column v-for="(item, index) in tableLabel" :key="index" :prop="item.prop" :width="item.width" :label="item.label"> </el-table-column> </el-table> 这里的height="525"是为了固定头部 tableData: [// 表数据 { id: 1, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05 }, { id: 2, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05 }, { id: 3, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05 }, { id

XML 命名空间(XML Namespaces)

偶尔善良 提交于 2020-03-07 02:23:06
命名冲突 在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。 这个 XML 文档携带着某个表格中的信息: <table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table> 这个 XML 文档携带有关桌子的信息(一件家具): <table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table> 假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的 <table> 元素,就会发生命名冲突。 XML 解析器无法确定如何处理这类冲突。 使用前缀来避免命名冲突 此文档带有某个表格中的信息: <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> 此 XML 文档携带着有关一件家具的信息: <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> 现在,命名冲突不存在了,这是由于两个文档都使用了不同的名称来命名它们的