update

SQLSERVER中的假脱机spool

回眸只為那壹抹淺笑 提交于 2019-12-25 23:03:30
SQLSERVER中的假脱机spool 我发现网上对于假脱机的解释都非常零散,究竟假脱机是什么? 这几天在家里研究了一下,收集了很多网上的资料 假脱机是中文的翻译,而英文的名字叫做 spool 在徐老师写的《SQLSERVER企业级平台管理实践》里提到了一下假脱机 在SQLSERVER I/O问题的那一节 在性能监视器里,有一个计数器“worktables/sec” : 每秒创建的工作表数。例如,工作表可用于存储查询 假脱机 (query spool),LOB变量,XML变量,表变量,游标的临时结果 在《剖析SQLServer执行计划》里也提到了假脱机 (13) 有时查询优化器需要在tempdb数据库中建立临时工作表。如果是这样的话 就意味着图形执行计划中有标识成 Index Spool, Row Count Spool 或者 Table Spool 的图标。 任何时候,使用到工作表一般都会防碍到性能,因为需要额外的I/O开销来维护这个工作表。 之前本人也写过一篇文章: 对于索引假脱机的一点理解 写这篇文章的时候当时还是对假脱机一知半解 假脱机在MSDN中的执行计划中的逻辑运算符和物理运算符中提到了几个假脱机相关的运算符(详见本文最后面) Eager Spool Lazy Spool Index Spool (有时候也叫 Nonclustered Index Spool ) Row

A2-03-05.DDL-MySQL Foreign Key

。_饼干妹妹 提交于 2019-12-25 22:38:52
转载自: http://www.mysqltutorial.org/mysql-foreign-key/ Home / Basic MySQL Tutorial / MySQL Foreign Key MySQL Foreign Key Summary: in this tutorial, you will learn about MySQL foreign key and how to create, add, and drop foreign key constraints in MySQL. Introduction to MySQL foreign key A foreign key is a field in a table that matches another field of another table. A foreign key places constraints on data in the related tables, which enables MySQL to maintain referential integrity. Let’s take a look at the following database diagram in the sample database . We have two tables: customers and

使用sysbench对mysql压力测试

旧时模样 提交于 2019-12-25 22:30:07
sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。关于这个项目的详细介绍请看: https://github.com/akopytov/sysbench 。 它主要包括以下几种方式的测试: cpu性能 磁盘io性能 调度程序性能 内存分配及传输速度 POSIX线程性能 数据库性能(OLTP基准测试) sysbench的数据库OLTP测试支持MySQL、PostgreSQL、Oracle,目前主要用于Linux操作系统,开源社区已经将sysbench移植到了Windows,并支持SQL Server的基准测试。 废话不多说,开始。 1. sysbench安装 mysql版本: mysql-community-server-5.6.29 OS: CentOS 6.7 X86_64 sysbench 0.5相比0.4版本有一些变化,包括oltp测试结合了lua脚本,还多了一些隐藏选项,本文会涉及得到一部分。 目前许多仓库里已编译好的二进制sysbench还是0.4.x版本,不过现在主流也还是github上的0.5(我这里使用的是1.0),可以从 这里 下载0.5版本的rpm包直接安装,不过我选择自己编译,因为只有这个办法是通用的。 // 先安装编译依赖环境 $ sudo yum install gcc gcc-c++

mysql之触发器trigger

橙三吉。 提交于 2019-12-25 14:11:03
触发器(trigger):监视某种情况,并触发某种操作。 触发器创建语法四要素:1. 监视地点(table) 2. 监视事件(insert/update/delete) 3. 触发时间(after/before) 4. 触发事件(insert/update/delete) 语法: create trigger triggerName after/before insert/update/delete on 表名 for each row #这句话在mysql是固定的 begin sql语句; end; 注:各自颜色对应上面的四要素。 首先我们来创建两张表: #商品表 create table g (   id int primary key auto_increment,   name varchar(20),   num int ); #订单表 create table o (   oid int primary key auto_increment,   gid int, much int ); insert into g(name,num) values('商品1',10),('商品2',10),('商品3',10); 如果我们在没使用触发器之前:假设我们现在卖了3个商品1,我们需要做两件事 1.往订单表插入一条记录 insert into o(gid,much)

安全牛-定制

匆匆过客 提交于 2019-12-25 13:44:32
网络配置-1 临时ip地址 dhclient eth0 ifconfig eth0 192.168.1.1/24 route add default gw 192.168.1.1 ech0 nameserver 192.168.1.1> /etc/resolv.conf (1)指定ip地址 ifconfig eth0 192.168.1.1/24 ifconfig 查看 (2)指定网关(上网) route add default gw 192.168.1.1 netstat -nr 查看 (3)工作在3层交换机中,怎么解决? 添加静态路由 route add -net 172.16.0.0/32 gw 192.168.1.100 (主机地址) route add -net 172.16.0.0/24 gw 192.168.1.100 eth0 (网络地址) route -n 查看 (4)配置dns服务器地址 vi /etc/resolv.conf nameserver 114.114.114.114 nameserver 8.8.8.8 ech0 nameserver 192.168.1.1> /etc/resolv.conf 网络配置-2 固定IP地址 cat /etc/network/interfaces auto eth0 iface eth0 inet static

MySql中4种批量更新的方法

旧街凉风 提交于 2019-12-25 13:02:50
最近在完成MySql项目集成的情况下,需要增加批量更新的功能,根据网上的资料整理了一下,很好用,都测试过,可以直接使用。 mysql 批量更新共有以下四种办法 1、.replace into 批量更新 replace into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y'); 例子 :replace into book (`Id`,`Author`,`CreatedTime`,`UpdatedTime`) values (1,'张飞','2016-12-12 12:20','2016-12-12 12:20'),(2,'关羽','2016-12-12 12:20','2016-12-12 12:20'); 2、insert into ...on duplicate key update批量更新 insert into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y') on duplicate key update dr=values(dr); 例子 :insert into book (`Id`,`Author`,`CreatedTime`,`UpdatedTime`) values (1,'张飞2','2017-12-12 12:20','2017-12-12 12:20')

day 20 作业

被刻印的时光 ゝ 提交于 2019-12-24 21:06:54
作业 1 1 1 1 2 1 3 2 3 查找顺序:子类--->父类 G D A B F C B D A 非菱形继承 菱形继承 新式类 继承了object的类及其子类,都是新式类 经典类 没有继承object的类及其子类,都是经典类 区别: 新式类继承了object类,python3中所有的类都是新式类,只有python2中才有经典类 深度优先: 直接先去找多个类最后继承的类,也就是object的子类 广度优先: 不找多个类最后继承的同一个类,直接去找下一个父类 import hashlib import datetime import pickle class People: def __init__(self, name, gender, age): self.name = name self.gender = gender self.age = age def save(self): with open(f'{self.creat_id()}.pkl', 'wb') as f: pickle.dump(self, f) def get_obj_by_id(self, tea_id): return pickle.load(open(f'{tea_id}.pkl', 'rb')) class Teacher(People): def __init__(self, name,

INSERT、DELETE、UPDATE

删除回忆录丶 提交于 2019-12-24 14:24:16
1 、增 INSERT [ INTO ] table_or_view_name [ (column_list) ] VALUES (expression_list) 举例:Client表(ClientID,ClientName,Sex,NativePlace) -- 添加一条数据 INSERT into client (ClientID,ClientName,Sex,NativePlace) Values (‘ 10000 ’,’hhh’,’女’,’中国’) go 2 、删( DELETE ) DELETE FROM table_name [ WHERE ] serach_condition 举例:Client表(ClientID,ClientName,Sex,NativePlace) -- 删除全部数据 DELETE FROM Client go -- 删除一行数据 DELETE FROM Client WHERE ClientID = ‘ 10000 ’ go 、修改(UPDATE) UPDATE SET 3 column_name={expression|DEFAULT|NULL} FROM table_name [where search_conditions] 举例:Client表(ClientID,ClientName,Sex,NativePlace) --修改一条数据

rails 5 功能新增及改变

≡放荡痞女 提交于 2019-12-24 14:07:01
1、ApplicationRecord 在Rails4中所有的模型都继承自ActiveRecord::Base,不过在Rails5中新引进了一个叫ApplicationRecord的类,存放在: app/models/application_record.rb中,所有Rails5应用都会有这个类, 它的内容非常简单: class ApplicationRecord < ActiveRecord::Base self.abstract_class = true end 就是一个继承ActiveRecord::Base的抽象类,作用就是为整个应用程序模型提供一个自己的基类 module MyModule end # Rails4.x中扩展模型的方式 ActiveRecord::Base.send :include, MyModule # Rails5 class ApplicationRecord < ActiveRecord::Base include MyModule self.abstract_class = true end 2、OR语法支持(查询语句的组合查询),Rails5中提供了对两个AR Relation对象的OR方法: > Article.where(user_id: 1).or(Article.where(user_id: 2)) => Article Load

查看linux版本

本秂侑毒 提交于 2019-12-24 13:59:02
http://nameyjj.blog.51cto.com/788669/557424 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version Linux version 2.6.9-22.ELsmp ( bhcompile@crowe.devel.redhat.com ) (gcc version 3.4.4 20050721 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005 2) [root@q1test01 ~]# uname -a Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux 3) [root@q1test01 ~]# uname -r 2.6.9-22.ELsmp 2. 查看linux版本: 1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如: [root@3.5.5Biz-46 ~]# [root@q1test01 ~]# lsb_release -a LSB Version: :core-3.0-amd64:core-3.0-ia32:core-3.0-noarch:graphics-3.0