table

有效配置MySQL参数

喜夏-厌秋 提交于 2020-03-18 07:15:22
1 .获取当前配置参数 要优化配置参数,首先要了解当前的配置参数以及运行情况。使用下列命令可以获得目前服务器使用的配置参数: mysqld –verbose –help mysqladmin variables extended-status –u root –p 在 MySQL 控制台里面,运行下列命令可以获取状态变量的值: mysql> SHOW STATUS; 如果只要检查某几个状态变量,可以使用下列命令: mysql> SHOW STATUS LIKE ‘[ 匹配模式 ]’; ( 可以使用 % 、 ? 等 ) 2 .优化参数 参数优化基于一个前提,就是在我们的数据库中通常都使用 InnoDB 表,而不使用 MyISAM 表。 在优化 MySQL 时,有两个配置参数是最重要的,即 table_cache 和 key_buffer_size 。 table_cache table_cache 指定表高速缓存的大小。 每当 MySQL 访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。通过检查峰值时间的状态值 Open_tables 和 Opened_tables ,可以决定是否需要增加 table_cache 的值。如果你发现 open_tables 等于 table_cache ,并且 opened_tables 在不断增长

MySQL 运行环境建议规范

我与影子孤独终老i 提交于 2020-03-18 06:38:54
一、操作系统环境 操作系统版本选择 CentOS/RHRL/ORACLE Linux 5.x/6.x x86_64 发行版 建议磁盘分区规则 MySQL 运行环境建议规范 挂载点 大小 分区类型 分区用途 /boot 100M 系统默认即可 /boo swap 4G-16G swap swap /opt 20G xfs 安装应用软件 应用程序安装在 /opt/app/ 下的子目录,例如 /opt/app/mysql-5.5.37 / 40G ,最小不低于 20G 系统默认即可 / /home 第一个 Raid 剩余 ,不低于 20G xfs 存放备份文件目录 备份文件放在 /home/backup 下的子目录,例如 /home/backup/mysql/20140819 /data 第二个 Raid 的全部,根据数据大小决定 xfs 存放 MySQL 数据文件目录 数据文件放在 /data/mysql 下的子目录,例如 /data/mysql/myapp_3306 /tmp 8-16G tmpfs 采用 tmpfs,利用内存的共享内存,加速 /tmp 目录的文件读写性能 内核参数建议值 1. 调整最大文件数限制 ulimit -n 65535 并且写入 /etc/sysctl.conf,重启后也能生效 2. 修改 IO 调度器设置 io 调度器修改为 deadline,如果是

MySQL 出现 The table is full 的解决方法

主宰稳场 提交于 2020-03-17 12:29:05
某厂面试归来,发现自己落伍了!>>> MySQL 出现 The table is full 只有一个原因,对应的表数据容量达到系统上限。具体限制请查看官方手册:http://dev.mysql.com/doc/refman/5.1/zh/introduction.html#table-size。你可以使用SHOW TABLE STATUS语句查看该表的相关信息。 解决方法1: 执行ALTER TABLE tbl_name MAX_ROWS=1000000000; 解决方法2: 修改Mysql的配置文件/etc/my.cnf,在[mysqld]下添加/修改两行(下面的值仅供参考,请根据实际情况酌情处理): tmp_table_size = 256M // 临时表大小 max_heap_table_size = 256M // 内存表大小 系统默认是16M,别忘记重新启动mysql。 来源: oschina 链接: https://my.oschina.net/u/1269590/blog/162960

数据探查postgresql数据库

橙三吉。 提交于 2020-03-17 11:05:50
1 import pandas as pd 2 import xlrd 3 import psycopg2 4 5 class Expedition(object): 6 def __init__(self, database, user, psd, ip, port): 7 self.database = database 8 self.user = user 9 self.psd = psd 10 self.ip = ip 11 self.port = port 12 self.tables = [] 13 self.schema = 'schema名' 14 15 def get_table_info(self): 16 dblink = psycopg2.connect(database=self.database, user=self.user, password=self.psd, host=self.ip, port=self.port) 17 print("链接成功") 18 cur = dblink.cursor() 19 print("创建游标成功") 20 for table in self.tables: 21 print(table) 22 cur.execute(f"""SELECT cast(obj_description(relfilenode,

Mysql:The Memory Storage Engine

折月煮酒 提交于 2020-03-17 09:34:56
16.3 The MEMORY Storage Engine The MEMORY storage engine (formerly known as HEAP ) creates special-purpose tables with contents that are stored in memory. Because the data is vulnerable to crashes, hardware issues, or power outages, only use these tables as temporary work areas or read-only caches for data pulled from other tables. Table 16.4 MEMORY Storage Engine Features Feature Support B-tree indexes Yes Backup/point-in-time recovery (Implemented in the server, rather than in the storage engine.) Yes Cluster database support No Clustered indexes No Compressed data No Data caches N/A

MySQL 性能优化神器 Explain 使用分析

非 Y 不嫁゛ 提交于 2020-03-17 07:01:16
简介 MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化. EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如: EXPLAIN SELECT * from user_info WHERE id < 300; 准备 为了接下来方便演示 EXPLAIN 的使用, 首先我们需要建立两个测试用的表, 并添加相应的数据: CREATE TABLE `user_info` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL DEFAULT '', `age` INT(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `name_index` (`name`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 INSERT INTO user_info (name, age) VALUES ('xys', 20); INSERT INTO user_info (name, age) VALUES ('a', 21); INSERT INTO user_info (name, age)

MySQL查看表中的约束

☆樱花仙子☆ 提交于 2020-03-17 06:34:27
MySQL 中可以使用 SHOW CREATE TABLE 语句来查看表中的约束。 查看数据表中的约束语法格式如下: SHOW CREATE TABLE < 数据表名 > ; 创建数据表 tb_emp8 并指定 id 为主键约束,name 为唯一约束,deptId 为非空约束和外键约束,然后查看表中的约束,输入SQL语句运行结果如下。 mysql > CREATE TABLE tb_emp8 - > ( - > id INT ( 11 ) PRIMARY KEY , - > name VARCHAR ( 22 ) UNIQUE , - > deptId INT ( 11 ) NOT NULL , - > salary FLOAT DEFAULT 0 , - > CHECK ( salary > 0 ) , - > FOREIGN KEY ( deptId ) REFERENCES tb_dept1 ( id ) - > ) ; Query OK , 0 rows affected ( 0.37 sec ) mysql > SHOW CREATE TABLE tb_emp8 \G * * * * * * * * * * * * * * * * * * * * * * * * * * * 1. row * * * * * * * * * * * * * * * * * * * * *

oracle递归函数

两盒软妹~` 提交于 2020-03-17 05:39:46
oracle start with connect by 使用方法 oracle中 connect by prior 递归算法 Oracle中start with...connect by prior子句使用方法 connect by 是结构化查询中用到的,其基本的语法是: select ... from tablename start with 条件1 connect by 条件2 where 条件3; 例: select * from table start with org_id = 'HBHqfWGWPy' connect by prior org_id = parent_id; 简单说来是将一个树状结构存储在一张表里,比方一个表中存在两个字段: org_id,parent_id那么通过表示每一条记录的parent是谁,就能够形成一个树状结构。 用上述语法的查询能够取得这棵树的全部记录。 当中: 条件1 是根结点的限定语句,当然能够放宽限定条件,以取得多个根结点,实际就是多棵树。 条件2 是连接条件,当中用PRIOR表示上一条记录,比方 CONNECT BY PRIOR org_id = parent_id就是说上一条记录的org_id 是本条记录的parent_id,即本记录的父亲是上一条记录。 条件3 是过滤条件,用于对返回的全部记录进行过滤。 简介例如以下:

Web前端JQuery面试题(一)

孤街浪徒 提交于 2020-03-17 04:44:04
Web前端JQuery面试题(一) 一:选择器 基本选择器 什么是 #id , element , .class , * , selector1, selector2, selectorN ? 答: 根据给定的 id 匹配一个元素,用于搜索,通过 id 的属性给定值。 案例:查找 id 为 da3 的元素 html代码: <div id="da1"></div> <div id="da2"></div> <div id="da3"></div> jquery代码: $("#da3"); 结果: [ <div id="da3"></div> ] html代码: <div id="da:q"></div> jquery代码: $("#da\\:q"); 根据给定的元素名匹配所有元素 案例,查找 div 元素: html代码: <div> da1 </div> <div> da2 </div> <p>da3</p> jquery代码: $("div"); 结果: [ <div> da1 </div> , <div> da2 </div> ] 根据给定的类匹配元素 html代码: <div class="dashu"> dashu </div> <div class="da"> da </div> jquery代码: $(".da"); 结果: [ <div class="da"> da

sqlalchemy foreign key查询和backref

*爱你&永不变心* 提交于 2020-03-17 04:43:14
首先在mysql中创建两个表如下: mysql> create table user( id int,name varchar(8) , primary key(id)); Query OK, 0 rows affected (0.01 sec) mysql> create table addr(id int,val varchar(100),user_id int, primary key(id),foreign key(user_id) references user(id) ); Query OK, 0 rows affected (0.00 sec) mysql> insert into user values(8,'kramer'); Query OK, 1 row affected (0.00 sec) mysql> insert into user values (18,'Tom'); Query OK, 1 row affected (0.00 sec) mysql> insert into addr values(1,'peking',8); Query OK, 1 row affected (0.00 sec) 然后我们用 sqlacodegen 来生成对应的 class。 root@rijx:/opt# sqlacodegen --schema rdb