- 浏览: 3327728 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (567)
- Web前端-html/表单 (19)
- Web前端-CSS (24)
- Web前端-CSS框架 (4)
- Web前端-JS语言核心 (50)
- Web前端-JS客户端 (26)
- nodejs生态+grunt (10)
- seajs和requirejs (9)
- backbone等框架 (7)
- 模板基础 (7)
- Web前端-deps(不改动) (6)
- Web前端-component (10)
- Web前端-jquery-plugin (13)
- 浏览器兼容性 (6)
- Web前端-使用jQuery (25)
- Web前端-使用jqueryui (6)
- Web前端-性能优化 (3)
- Web协议-HTTP (6)
- ExtJS (13)
- PHP (22)
- PHP面向对象 (4)
- PHP扩展-SOAP (6)
- PHP扩展-curl (4)
- PHP与HTML(导出) (5)
- PHP扩展-综合 (7)
- mysql基础应用 (18)
- 技术心情 (18)
- 算法和面试题 (17)
- 工具(开发)使用 (36)
- memcached原理 (2)
- session和cookie (4)
- UML (2)
- Web前端_FusionCharts (5)
- Web前端_Flex (4)
- Web前端_JSP (3)
- JavaSE (10)
- JavaEE (4)
- tomcat (2)
- Servlet开发 (3)
- Spring开发 (1)
- REST相关 (2)
- 大访问量、高并发 (2)
- 网络编程 (1)
- YII (21)
- linux命令和内核 (12)
- yii与数据库 (10)
- yii与表单 (12)
- yii view层 (1)
- perl (7)
- yii扩展 (7)
- shell (4)
- photoshop (7)
- 视觉设计 (2)
- 我关注的名人在路上 (4)
- 1-自学能力 (1)
- 2-人际沟通能力 (3)
- 3-职业规划能力 (7)
- 4-项目管理能力 (2)
- python (3)
- django (4)
- Mysql高级应用 (6)
- prototype.js (4)
- Web系统安全 (1)
- Web前端-mobile (2)
- egret (6)
- jQuery源码分析 (5)
- fis (4)
最新评论
-
yzq21056563:
感谢作者分享~请教下,http://www.lisa33xia ...
CSS基础:text-overflow:ellipsis溢出文本 -
u012206458:
$.ajax的error,complete,success方法 -
DEMONU:
谢谢,虽然不能给你赞助,但是要给你顶
mysql中key 、primary key 、unique key 与index区别 -
njupt_tolmes:
阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿滕庆亚 ...
CSS基础:text-overflow:ellipsis溢出文本 -
zenmshuo:
用过SpreadJS,也包含数据可视化的图表
推荐几个web中常用js图表插件
mysql insert时几个操作DELAYED 、IGNORE、ON DUPLICATE KEY UPDATE的区别
zccst整理
一、DELAYED的使用
使用延迟插入操作
DELAYED调节符应用于INSERT和REPLACE语句。当DELAYED插入操作到达的时候,服务器把数据行放入一个队列中,并立即给客户端返回一个状态信息,这样客户端就可以在数据表被真正地插入记录之前继续进行操作了。如果读取者从该数据表中读取数据,队列中的数据就会被保持着,直到没有读取者为止。接着服务器开始插入延迟数据行(delayed-row)队列中的数据行。在插入操作的同时,服务器还要检查是否有新的读取请求到达和等待。如果有,延迟数据行队列就被挂起,允许读取者继续操作。当没有读取者的时候,服务器再次开始插入延迟的数据行。这个过程一直进行,直到队列空了为止。
几点要注意事项:
· INSERT DELAYED应该仅用于指定值清单的INSERT语句。服务器忽略用于INSERT DELAYED...SELECT语句的DELAYED。
· 服务器忽略用于INSERT DELAYED...ON DUPLICATE UPDATE语句的DELAYED。
· 因为在行被插入前,语句立刻返回,所以您不能使用LAST_INSERT_ID()来获取AUTO_INCREMENT值。AUTO_INCREMENT值可能由语句生成。
· 对于SELECT语句,DELAYED行不可见,直到这些行确实被插入了为止。
· DELAYED在从属复制服务器中被忽略了,因为DELAYED不会在从属服务器中产生与主服务器不一样的数据。
注意,目前在队列中的各行只保存在存储器中,直到它们被插入到表中为止。这意味着,如果您强行中止了mysqld(例如,使用kill -9)或者如果mysqld意外停止,则所有没有被写入磁盘的行都会丢失。
二、IGNORE的使用
IGNORE是MySQL相对于标准SQL的扩展。如果在新表中有重复关键字,或者当STRICT模式启动后出现警告,则使用IGNORE控制ALTER TABLE的运行。如果没有指定IGNORE,当重复关键字错误发生时,复制操作被放弃,返回前一步骤。如果指定了IGNORE,则对于有重复关键字的行,只使用第一行,其它有冲突的行被删除。并且,对错误值进行修正,使之尽量接近正确值。
insert ignore into tb(...) value(...)
这样不用校验是否存在了,有则忽略,无则添加
三、ON DUPLICATE KEY UPDATE的使用
MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE语法,使得原本需要执行3条SQL语句(SELECT,INSERT,UPDATE),缩减为1条语句即可完成。
例如ipstats表结构如下:
引用
CREATE TABLE ipstats (
ip VARCHAR(15) NOT NULL UNIQUE,
clicks SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0'
);
原本需要执行3条SQL语句,如下:
IF (SELECT * FROM ipstats WHERE ip='192.168.0.1') {
UPDATE ipstats SET clicks=clicks+1 WHERE ip='192.168.0.1';
} else {
INSERT INTO ipstats (ip, clicks) VALUES ('192.168.0.1', 1);
}
而现在只需下面1条SQL语句即可完成:
INSERT INTO ipstats VALUES('192.168.0.1', 1) ON DUPLICATE KEY UPDATE clicks=clicks+1;
注意,要使用这条语句,前提条件是这个表必须有一个唯一索引或主键。
mysql> create table i (id int unique, co int);
mysql> insert into i values (1,1),(2,1);
mysql> insert into i values (1,1) on duplicate key update co=co+1;
mysql> select * from i;
+------+------+
| id | co |
+------+------+
| 1 | 2 |
| 2 | 1 |
+------+------+
//如果再执行一次insert into i values (1,1) on duplicate key update co=co+1;则结果为:
mysql> select * from i;
+------+------+
| id | co |
+------+------+
| 1 | 3 |
| 2 | 1 |
+------+------+
//经测试,id为主键时也可行,与unique时一样
create table i (id int auto_increment primary key, co int);
四、三者之间区别
DELAYED 做为快速插入,并不是很关心失效性,提高插入性能。
ignore 只关注主键对应记录是不存在,无则添加,有则忽略。
ON DUPLICATE KEY UPDATE 在添加时操作,关注非主键列,注意与ignore的区别。有则更新指定列,无则添加。
zccst整理
一、DELAYED的使用
使用延迟插入操作
DELAYED调节符应用于INSERT和REPLACE语句。当DELAYED插入操作到达的时候,服务器把数据行放入一个队列中,并立即给客户端返回一个状态信息,这样客户端就可以在数据表被真正地插入记录之前继续进行操作了。如果读取者从该数据表中读取数据,队列中的数据就会被保持着,直到没有读取者为止。接着服务器开始插入延迟数据行(delayed-row)队列中的数据行。在插入操作的同时,服务器还要检查是否有新的读取请求到达和等待。如果有,延迟数据行队列就被挂起,允许读取者继续操作。当没有读取者的时候,服务器再次开始插入延迟的数据行。这个过程一直进行,直到队列空了为止。
几点要注意事项:
· INSERT DELAYED应该仅用于指定值清单的INSERT语句。服务器忽略用于INSERT DELAYED...SELECT语句的DELAYED。
· 服务器忽略用于INSERT DELAYED...ON DUPLICATE UPDATE语句的DELAYED。
· 因为在行被插入前,语句立刻返回,所以您不能使用LAST_INSERT_ID()来获取AUTO_INCREMENT值。AUTO_INCREMENT值可能由语句生成。
· 对于SELECT语句,DELAYED行不可见,直到这些行确实被插入了为止。
· DELAYED在从属复制服务器中被忽略了,因为DELAYED不会在从属服务器中产生与主服务器不一样的数据。
注意,目前在队列中的各行只保存在存储器中,直到它们被插入到表中为止。这意味着,如果您强行中止了mysqld(例如,使用kill -9)或者如果mysqld意外停止,则所有没有被写入磁盘的行都会丢失。
二、IGNORE的使用
IGNORE是MySQL相对于标准SQL的扩展。如果在新表中有重复关键字,或者当STRICT模式启动后出现警告,则使用IGNORE控制ALTER TABLE的运行。如果没有指定IGNORE,当重复关键字错误发生时,复制操作被放弃,返回前一步骤。如果指定了IGNORE,则对于有重复关键字的行,只使用第一行,其它有冲突的行被删除。并且,对错误值进行修正,使之尽量接近正确值。
insert ignore into tb(...) value(...)
这样不用校验是否存在了,有则忽略,无则添加
三、ON DUPLICATE KEY UPDATE的使用
MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE语法,使得原本需要执行3条SQL语句(SELECT,INSERT,UPDATE),缩减为1条语句即可完成。
例如ipstats表结构如下:
引用
CREATE TABLE ipstats (
ip VARCHAR(15) NOT NULL UNIQUE,
clicks SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0'
);
原本需要执行3条SQL语句,如下:
IF (SELECT * FROM ipstats WHERE ip='192.168.0.1') {
UPDATE ipstats SET clicks=clicks+1 WHERE ip='192.168.0.1';
} else {
INSERT INTO ipstats (ip, clicks) VALUES ('192.168.0.1', 1);
}
而现在只需下面1条SQL语句即可完成:
INSERT INTO ipstats VALUES('192.168.0.1', 1) ON DUPLICATE KEY UPDATE clicks=clicks+1;
注意,要使用这条语句,前提条件是这个表必须有一个唯一索引或主键。
mysql> create table i (id int unique, co int);
mysql> insert into i values (1,1),(2,1);
mysql> insert into i values (1,1) on duplicate key update co=co+1;
mysql> select * from i;
+------+------+
| id | co |
+------+------+
| 1 | 2 |
| 2 | 1 |
+------+------+
//如果再执行一次insert into i values (1,1) on duplicate key update co=co+1;则结果为:
mysql> select * from i;
+------+------+
| id | co |
+------+------+
| 1 | 3 |
| 2 | 1 |
+------+------+
//经测试,id为主键时也可行,与unique时一样
create table i (id int auto_increment primary key, co int);
四、三者之间区别
DELAYED 做为快速插入,并不是很关心失效性,提高插入性能。
ignore 只关注主键对应记录是不存在,无则添加,有则忽略。
ON DUPLICATE KEY UPDATE 在添加时操作,关注非主键列,注意与ignore的区别。有则更新指定列,无则添加。
发表评论
-
MySQL创建用户与授权
2013-08-29 21:43 1255zccst转载 一, 创建用户: 命令:CR ... -
mysql导入/导出命令
2013-05-15 15:52 1108作者:zccst 最常用: 导出数据库为文件 mysqld ... -
运行中的mysql状态查看
2013-02-22 14:19 1686zccst整理 对正在运行的 ... -
mysql导出的几种办法
2012-12-24 16:29 7705作者:zccst 一、使用mysqldump导出 my ... -
强大的alter
2012-11-14 22:28 1277作者:zccst alter的主要作用是修改已经建立的表结构。 ... -
mysql replace into用法详细说明
2012-10-23 17:42 1794zccst转载 mysql replace into ... -
mysql中key 、primary key 、unique key 与index区别
2012-10-12 12:15 262450作者:zccst 一、key与pri ... -
mysql日期相关函数
2012-06-15 15:27 1737作者:zccst 日期函数 date_format(crea ... -
mysql安全之sql注入
2012-04-28 18:42 1192zccst整理 如何避免? 1,使用mysql_escap ... -
MySQL索引类型一览 让MySQL高效运行起来
2012-04-27 15:29 1189zccst转载 批注:学习mysql那么久,今天终于有点更上 ... -
mysql 多表连接 left join 等
2012-04-14 23:34 34506作者:zccst 一、 理论 ... -
mysql 删除全部表
2012-02-27 16:25 26082作者:zccst 方式一:手工方式 1,直接操作数据库 先 ... -
MySQL 数据类型 详解
2012-01-18 15:28 1395zccst整理 批注:mysql数据类型分为4类,与C语言教 ... -
mysql函数初步
2011-12-12 17:50 1106一、日期函数 日期函数较多 比如对timestamp求月份,可 ... -
mysql警告和错误解决办法集合
2011-10-31 11:33 1275一、在创建mysql时,查看警告详情 在create语句执行之 ... -
数据库关于group by 两个或以上条件的分析
2011-08-25 12:58 59074首先group by 的简单说明: group by 一 ... -
mysql常用命令
2011-06-07 12:09 1262作者:zccst 2014-05-18 创建新表各类型模板 ...
相关推荐
校园疫情防护知识培训
COMSOL模拟下的卡门涡街发电系统模型研究与应用,COMSOL卡门涡街发电模型:探究流体动力学与能源转换的融合机制,COMSOL卡门涡街发电模型 ,COMSOL; 卡门涡街; 发电模型; 核心关键词,COMSOL 下的卡门涡街发电模型研究
微控制器 (MCU) 是单个集成电路上的小型计算机,旨在控制电子系统内的特定任务。它将中央处理器 (CPU)、内存和输入/输出接口的功能全部集成在一个芯片上。 微控制器广泛用于嵌入式系统,例如家用电器、汽车系统、医疗设备和工业控制系统。它们还用于消费电子产品,例如游戏系统、数码相机和音频播放器。 典型的微控制器由处理器内核、易失性和非易失性存储器、输入/输出外设和各种通信接口组成。处理器内核负责执行指令和控制微控制器的其他组件。存储器用于存储数据和程序代码,而 input/output 外设用于与外部环境交互。 微控制器是可编程的,这意味着它们可以进行定制以执行特定任务。用于为微控制器编写代码的编程语言因制造商和微控制器类型而异。一些常用的编程语言包括 C、C++ 和汇编语言。 微控制器是可在嵌入式系统中使用的独立桌面。一些微控制器可能以 clock rate 速率运行并使用 4 位表达式。由于它们控制的许多设备都是电池供电的,因此微控制器通常必须是低功耗的。微控制器广泛应用于各种产品中,包括消费电子产品、汽车发动机、计算机外围设备以及测试和测量设备。这些也非常适合长期电池使用
Wincc高级报表工具:自定义模板,多格式输出与打印预览功能全解析,Wincc高级报表工具:自定义模板,多功能打印预览与导出,支持PDF打印及Excel表格导出,显示统计数据,兼容多种版本使用。,wincc高级报表,支持自定义模版,支持打印预览,支持打印PDF,支持导出Excel表格,支持自定义打印区域,可显示最大值,最小值,平均值,可求和。 可以在wincc7.4 7.5 8.0,博图wincc上使用。 ,wincc高级报表; 自定义模板; 打印预览; 打印PDF; 导出Excel; 自定义打印区域; 显示最大值/最小值/平均值; 求和; wincc7.4-8.0; 博图wincc。,Wincc高级报表:全功能自定义,打印、预览、PDF、Excel输出工具
电机控制算法中的死区补偿技术详解视频教程,电机控制算法之死区补偿策略深度解析视频教程,电机控制算法之死区补偿视频教程 ,电机控制; 死区补偿; 视频教程,电机控制算法死区补偿视频教程
使用 Python 学习数据科学教程
Qt CPPO优化的高效多能表格小部件——适用于工业级应用的强大Excel类程序,基于Qt CPP的高性能多功能表格小部件:工业级应用之首选,Qt CPP实现的高性能表格小部件。 是功能齐全的高性能表格小部件,适用于工业强度的应用程序。 它采用了模型视图控制器架构,因此多个表小部件可以显示相同的数据。 小部件具有广泛的打印功能,包括以与屏幕上的表格显示不同的视觉特征打印表格的功能。 一个功能强大高性能的类似excel表格程序。 支持合并单元格,查找替,打印预览,分页,字体加颜色,粗体,单元格边线,字体大小,撤销前进,背景颜色等功能。 源码: 使用Qt5.13.1_MinGW、Qt5.15.1_MinGW编译通过,其他版本请自行尝试。 ,核心关键词: Qt CPP; 高性能表格小部件; 工业强度应用; 模型视图控制器架构; 打印功能; Excel类似功能; 源码兼容Qt5.13.1_MinGW; Qt5.15.1_MinGW。,Qt C++高性能多功能表格控件
PFC2D云图绘制技术与实现:以鱼式数据导出为基础,运用MATLAB进行高精度图谱绘制,适应各种不规则模型与含空洞模型的绘图需求,利用PFC2D云图绘制技术:导出数据至Matlab绘图平台,实现不规则模型(含孔洞)可视化分析,pfc2d云图绘制。 使用fish将数据导出后,用matlab画图。 适用于各种不规则的模型,例如模型中存在孔洞。 ,pfc2d云图绘制; 数据导出; Matlab画图; 不规则模型; 孔洞处理,Matlab绘制PFC2D云图:不规则模型孔洞处理
山峰图,折线图,基本时序图,区域图,饼状图,环形图,圆弧进度条,多边形雷达图,仪表盘;适用uni-app,小程序端,android端,iOS端,鸿蒙app,前端,微信小程序,支付宝小程序,快手小程序,抖音小程序等
STM32 NUCLEOH753ZI FreeRTOS + UDP 基于 | CubeIDE |1.17.0 | | Firmware Package Name and Version |STM32Cube FW_H7 **V1.12.1** | |板子|NUCLEO-H753ZI| 查看配套教程:https://blog.csdn.net/Jobs_ZhaoCB/article/details/145631105?fromshare=blogdetail&sharetype=blogdetail&sharerId=145631105&sharerefer=PC&sharesource=Jobs_ZhaoCB&sharefrom=from_link
2024免费毕业设计成品,包括源码+数据库+往届论文资料,附带启动教程和安装包。 启动教程:https://www.bilibili.com/video/BV1jKDjYrEz1 技术栈:Vue.js+SpringBoot+MySQL。 开发工具:Idea+VSCode。
永磁同步电机多参数高精度辨识仿真研究:电阻、电感、磁链全面解析,永磁同步电机多参数高精度辨识仿真研究:电阻、电感、磁链全面解析,永磁同步电机多参数辨识仿真【电阻、电感、磁链】 [1]定子辨识原理:通过施加固定脉冲的占空比,测量电流及电压,计算定子电阻 [2]电感辨识原理:① 分别施加三组脉冲,测试获得线电感Lab、Lbc、Lca; ② 根据线电感以及角度,计算Ld及Lq; [3]磁链辨识原理:采用转速、电流双闭环控制,其中D轴给定固定电流,转速设定为额定转速50%左右 [hot] (1)定子电阻辨识:精度在0.1%左右 (2)DQ电感辨识:采用脉冲电压法,精度在0.02%左右 (3)转子磁链辨识:精度在0.12%左右; 2018b版本 ,定子电阻辨识;电感辨识;磁链辨识;脉冲电压法;精度,基于多参数的永磁同步电机辨识仿真:电阻、电感及磁链精确辨识方法
基于Comsol的工件感应加热仿真计算模型:多物理场耦合的电磁热分析与温度场分布研究,Comsol工件感应加热仿真模型:电磁热多物理场耦合计算揭秘温度场与电磁场分布,Comsol工件感应加热仿真计算模型,采用温度场和电磁场耦合电磁热多物理场进行计算,可以得到计算模型的温度场和电磁场分布 ,Comsol;感应加热;仿真计算模型;温度场;电磁场;耦合电磁热多物理场;温度场分布,Comsol仿真计算模型:多物理场耦合感应加热的温度与电磁场分布
永磁同步电机PMSM矢量控制仿真模型:负载波动下的稳定转速电流跟随与SVPWM实现原理详解,永磁同步电机PMSM矢量控制仿真模型:助力新人快速掌握转速与电流控制,理解SVPWM原理,带位置传感器仿真指导,参数计算精准便捷,永磁同步电机PMSM矢量控制仿真,该模型可以指导新人快速入门,了解各个控制环节的波形及搭建方法。 波形见附图,可见在负载波动情况下转速及电流跟随稳定; 模型可助于理解转速及电流环路设计; 模型可助于理解svpwm实现原理; 模型内提供参数计算方法,不用经验值整定; 带位置传感器矢量控制仿真; 可以简单; ,关键词:永磁同步电机; 矢量控制仿真; 波形; 负载波动; 转速; 电流环路设计; SVPWM实现原理; 参数计算方法; 位置传感器。,PMSM矢量控制仿真模型:轻松理解SVPWM与位置传感控制,快速入门之必备工具
团队合作培训课件
基于Simulink的永磁同步电机发电仿真控制模型及其双类型模型结构研究,基于永磁同步电机的发电仿真控制及其Simulink模型构建,永磁同步电机发电仿真控制simulink模型。 邮箱发送。 模型包括两种。 ,永磁同步电机; 发电仿真; 控制; Simulink模型; 邮箱发送; 模型多样性; 两种模型;,Simulink模型在永磁同步电机发电仿真控制中的应用研究
二手手机回收平台系统
本项目是自己做的设计,有GUI界面,完美运行,适合小白及有能力的同学进阶学习,大家可以下载使用,整体有非常高的借鉴价值,大家一起交流学习。该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。
Buck-Boost双向DC-DC电源技术详解:基于STM32F334C8T6的自动切换稳压输出学习资料集,基于STM32F334C8T6芯片的Buck-Boost双向DC-DC电源全套学习资料:从原理到实战,涵盖AD原理图、程序源码、仿真模型与硬件设计报告,Buck-Boost双向DC-DC电源整套学习资料 功能:采用STM32F334C8T6芯片,能够根据输入电压和输出电压的大小关系,实现自动切工作模式,将参数信息进行显示,并且可以实现稳压输出。 程序+仿真+硬件软件说明报告+原理图+计算书等等 详细资料内容包括: (1)AD原理图:主电路原理图、辅助电源电路、信号调理与滤波电路、控制器电路等 (2)程序源码:三套程序(Buck模式、Boost模式、Buck-Boost模式),具有软起动、完整的短路保护,过流保护,输出过压保护,输入过压欠压等保护功能 (3)仿真模型:使用PSIM搭建,包括开环和闭环程序,PI控制参数可以参考数字环路设计计算书。 (4)Word硬件设计报告:包括电路参数设计、器件选型、原理分析等等 (5)代码计算书:电压电流采样计算、短路保护计算等等 (6)Word
基于STM32F405的HFI高频方波注入与无感FOC控制方案:永磁同步电机零速带载启动与全速域运行技术,STM32F405实现的无感FOC控制及HFI高频方波注入方案:零速启动、永磁同步电机控制,全速域运行,代码全C语言,含详细开发资源,HFI高频方波注入方案stm32f405 无感FOC控制 直接闭环启动 永磁同步电机无感控制,0速带载启动,堵转保持扭矩 低速HFI, 高速SMO,全速域运行。 基于stm32f405。 高频注入零速启动三步走: 1 .先是高频注入,角度估算收敛。 2.脉冲NS磁极辨识。 3 .角度,速度双闭坏零速启动运行。 包括完整的cubemx配置文件,mdk工程,原理图和开发笔记,初始角度检测仿真,代码全C语言,宏定义选项均有中文注释,方便我植到自己的项目中。 内涵升级版hfi程序和新的foc程序框架,新版hfi程序速度波动更小。 ,关键词: HFI高频方波注入; stm32f405; 无感FOC控制; 直接闭环启动; 永磁同步电机无感控制; 零速启动三步走; 脉冲NS磁极辨识; 速度波