-- 使用临时表 -- 创建临时表 --ALTER TABLE TS_ExpenseApplication_Reim_Detail ADD BgCode NVARCHAR() NULL, BgItem NVARCHAR() NULL, BgCate NVARCHAR() NULL; IF OBJECT_ID('dbo.tempExpense','U') IS NOT NULL DROP TABLE dbo.tempExpense; GO SELECT * INTO dbo.tempExpense
一条更新语句的执行过程和查询语句类似,更新的流程涉及两个日志:redo log(重做日志)和binlog(归档日志).比如我们要将ID(主键)=2这一行的值加(c:字段)1,SQL语句如下: update T set c=c+1 where ID=2; redo log 重做日志是InnoDB引擎特有的,是物理日志,记录在“某个数据页上做了什么修改“.大小是固定,可以进行配置大小.假如我们配置一组4个文件,图中write pos是当前记录的位置,往后推移并且循环:checkpoint是当前要擦除
[问题现象] 线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右.SQL语句如下:SELECT DISTINCT g.*, cp.name AS cp_name, c.name AS category_name, t.name AS type_name FROMgm_game g LEFT JOIN gm_cp cp ON cp.id = g.cp_id AND cp.deleted = 0 LEFT JOIN gm_cate
转自:http://www.51testing.com/html/01/n-867201-2.html [问题现象] 线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右. SQL语句如下: SELECT DISTINCT g.*, cp.name AS cp_name, c.name AS category_name, t.name AS type_name FROMgm_game g LEFT JOIN gm_cp cp O
我们有时候可能会需要修改表格中的资料.在这个时候,我们就需要用到 UPDATE 指令.这个指令的语法是: UPDATE "表格名" SET "栏位1" = [新值] WHERE "条件"; 最容易了解这个语法的方式是透过一个例子.假设我们有以下的表格: Store_Information 表格 Store_Name Sales Txn_Date Los Angeles 1500 05-Jan-1999 San Diego 250 07-Jan-1