search
HomeDatabaseMysql TutorialMySQL数据库技术(19)_MySQL

  3.9 MySQL 不支持的功能

    本节介绍其他数据库中有而MySQL 中无的功能。它介绍省略了什么功能,以及在需要这些功能时怎么办。一般情况下, MySQL 之所以忽略某些功能是因为它们有负面性能影响。有的功能正在开发者的计划清单上,一旦找到一种方法可以实现相应的功能而又不致于影响良好性能的目标,就会对它们进行实现。

    ■ 子选择。子选择是嵌套在另一个SELECT 语句内的SELECT 语句,如下面的查询所示:

    SELECT * FROM score
    WHERE event_id IN (SELECT event_id FROM event WHERE type = "T")

    子选择打算在MySQL 3.24 中给出,到那时它们就不会忽略了。但到那时,许多用子选择撰写的查询也可以用连接来编写。请参阅3 . 8 . 1节“将子选择编写为连接”。

    ■ 事务处理和提交/回退。事务处理是由其他客户机作为一个整体不中断执行的一组S Q L语句。提交/回退功能允许规定数条语句作为一个整体执行或不执行。即,如果事务处理中的任何一条语句失败,那么直到该语句前执行的所有语句的作用都被撤消。
ySQL 自动进行单一SQL 语句的同步以免客户机互相干扰。(例如,两个客户机不能对相同的表进行同时写入。)此外,可利用LOCK TABLES 和UNLOCK TA B L ES将数条语句组成一个整体,这使您能够完成单条语句的并发控制所不能满足的操作。MySQL 与事务处理有关的问题是,它不能自动对数条语句进行组织,而且如果这些语句中有某一条失败后也不能对它们进行回退。

    为了弄清事务处理为什么有用,可举例说明。假如您在服装销售业工作,无论何时,只要您的销售人员进行了一次销售,都要更新库存数目。下面的例子说明了在多个销售人员同时更新数据库时可能出现的问题(假如初始的衬衫库存数目为4 7):

    t1 销售人员1卖出3件衬衫

    t2 销售人员检索当前衬衫计数( 4 7):

    SELECT quantity FROM inventory WHERE item = "shirt"

    t3 销售人员2卖出2件衬衫

    t4 销售人员2检索当前衬衫计数( 4 7)

    SELECT quantity FROM inventory WHERE item = "shirt"

    t5 销售人员1计算库存的新数目为47 - 3 = 44 并设置衬衫计数为44:

    UPDATE inventory SET quantity = 44 WHERE item = "shirt"

    t6 销售人员2计算库存的新数目为47 - 2 = 45 并设置衬衫计数为45:

    UPDATE inventory SET quantity = 45 WHERE item = "shirt"

    在这个事件序列结束时,您已经卖掉了5 件衬衫,但库存数目却是45 而不是4 2。问题是如果在一条语句中查看库存而在另一条语句中更新其值,这是一个多语句的事务处理。第二条语句中所进行的活动取决于第一条语句中检索出的值。但是如果在重叠的时间范围内出现独立的事务处理,则每个事务处理的语句会纠缠在一起,并且互相干扰。在事务处理型的数据库中,每个销售人员的语句可作为一个事务处理执行,这样,销售人员2 的语句在销售人员1 的语句完成之前不会被执行。在MySQL 中,可用两种方法达到这个目的:

    ■ 方法1:作为一个整体执行一组语句。可利用LOCK TABLES 和UNLOCK TABLES将语句组织在一起,并将它们作为一个原子单元执行:锁住所需使用的表,发布查询,然后释放这些锁。这样阻止了其他人在您锁住这些表时使用它们。利用表同步,库存情况如下所示:

    t1 销售人员1卖出3件衬衫

    t2 销售人员1请求一个锁并检索当前衬衫计数(47)

    LOCK TABLES inventory WRITE

    SELECT quantity FROM inventory WHERE item = "shirt"

    t3 销售人员2卖出2件衬衫

    t4 销售人员2试图取得一个锁:这被阻塞,因为销售人员1 已经占住了锁:

    LOCK TABLES inventory WRITE

    t5 销售人员1计算库存的新数目为47 - 3 = 44 并设置衬衫计数为44,然后释放锁:

    UPDATE inventory SET quantity = 44 WHERE item = "shirt"

    UNLOCK TABLES

    t6 现在销售人员2的锁请求成功。销售人员2检索当前衬衫计数( 44)

    SELECT quantity FROM inventory WHERE item = "shirt"

    t7 销售人员2计算库存的新数目为44 - 2 = 42,设置衬衫计数为4 2,然后释放锁:

    UPDATE inventory SET quantity = 42 WHERE item = "shirt"

    UNLOCK TABLES

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
VBOX_E_OBJECT_NOT_FOUND(0x80bb0001)VirtualBox错误VBOX_E_OBJECT_NOT_FOUND(0x80bb0001)VirtualBox错误Mar 24, 2024 am 09:51 AM

在VirtualBox中尝试打开磁盘映像时,可能会遇到错误提示,指示硬盘无法注册。这种情况通常发生在您尝试打开的VM磁盘映像文件与另一个虚拟磁盘映像文件具有相同的UUID时。在这种情况下,VirtualBox会显示错误代码VBOX_E_OBJECT_NOT_FOUND(0x80bb0001)。如果您遇到这个错误,不必担心,有一些解决方法可以尝试。首先,您可以尝试使用VirtualBox的命令行工具来更改磁盘映像文件的UUID,这样可以避免冲突。您可以运行命令`VBoxManageinternal

使用飞行模式接收电话的效果如何使用飞行模式接收电话的效果如何Feb 20, 2024 am 10:07 AM

飞行模式别人打电话会怎么样手机已经成为人们生活中必不可少的工具之一,它不仅仅是通信工具,还是娱乐、学习、工作等多种功能的集合体。随着手机功能的不断升级和改进,人们对于手机的依赖性也越来越高。在飞行模式出现后,人们可以更方便地在飞行中使用手机。但是,有人担心在飞行模式下别人打电话的情况会对手机或者使用者产生什么样的影响呢?本文将从几个方面来进行分析和讨论。首先

如何关闭抖音评论功能?关闭抖音评论功能后会怎么样?如何关闭抖音评论功能?关闭抖音评论功能后会怎么样?Mar 23, 2024 pm 06:20 PM

在抖音平台上,用户不仅可以分享自己的生活点滴,还可以与其他用户互动交流。有时候评论功能可能会引发一些不愉快的经历,如网络暴力、恶意评论等。那么,如何关闭抖音评论功能呢?一、如何关闭抖音评论功能?1.登录抖音APP,进入个人主页。2.点击右下角的“我”,进入设置菜单。3.在设置菜单中,找到“隐私设置”。4.点击“隐私设置”,进入隐私设置界面。5.在隐私设置界面,找到“评论设置”。6.点击“评论设置”,进入评论设置界面。7.在评论设置界面,找到“关闭评论”选项。8.点击“关闭评论”选项,确认关闭评论

Java中的文件包含漏洞及其影响Java中的文件包含漏洞及其影响Aug 08, 2023 am 10:30 AM

Java是一种常用的编程语言,用于开发各种应用程序。然而,就像其他编程语言一样,Java也存在安全漏洞和风险。其中一个常见的漏洞是文件包含漏洞(FileInclusionVulnerability),本文将探讨文件包含漏洞的原理、影响以及如何防范这种漏洞。文件包含漏洞是指在程序中通过动态引入或包含其他文件的方式,但却没有对引入的文件做充分的验证和防护,从

数据稀缺对模型训练的影响问题数据稀缺对模型训练的影响问题Oct 08, 2023 pm 06:17 PM

数据稀缺对模型训练的影响问题,需要具体代码示例在机器学习和人工智能领域,数据是训练模型的核心要素之一。然而,现实中我们经常面临的一个问题是数据稀缺。数据稀缺指的是训练数据的量不足或标注数据的缺乏,这种情况下会对模型训练产生一定的影响。数据稀缺的问题主要体现在以下几个方面:过拟合:当训练数据量不够时,模型很容易出现过拟合的现象。过拟合是指模型过度适应训练数据,

硬盘坏道会导致什么问题硬盘坏道会导致什么问题Feb 18, 2024 am 10:07 AM

硬盘坏道是指硬盘的物理故障,即硬盘上的储存单元无法正常读取或写入数据。坏道对硬盘的影响是非常显著的,它可能导致数据丢失、系统崩溃和硬盘性能下降等问题。本文将会详细介绍硬盘坏道的影响及相关解决方法。首先,硬盘坏道可能导致数据丢失。当硬盘中的某个扇区出现坏道时,该扇区上的数据将无法读取,从而导致文件损坏或无法访问。这种情况尤其严重,如果坏道所在的扇区中存储了重要

矿卡对游戏有什么具体的影响?矿卡对游戏有什么具体的影响?Jan 03, 2024 am 09:05 AM

为了图便宜可能有些用户会考虑入手矿卡,这些卡毕竟是顶级的显卡,但是也有部分游戏玩家很担心矿卡打游戏有什么影响,下面就看看具体的介绍吧。矿卡打游戏有什么影响:1、矿卡打游戏没法保证稳定性,因为矿卡的寿命很短很可能玩玩就废了。2、矿卡基本上等于原版的阉割版,由于长期的损耗,各方面性能可能都弱了。3、这样用户在玩游戏的时候可能就不能将游戏的效果全部展示了。4、而且显卡的电子元件都会提前的老化,更何况打游戏也很消耗显卡,因此等于更大程度上的来将其榨干,因此对游戏的影响是很大的。5、总的来说,使用矿卡打游

显卡配置低的影响什么显卡配置低的影响什么Feb 15, 2024 pm 03:27 PM

一个电脑的运行好坏基本上都和他的显卡有着非常大的影响,一部分用户对于显卡不是很了解,也不清楚显卡到底对电脑的哪些方面会有影响,为了方便大家观看,这里就给大家介绍一下显卡配置低的一些影响。显卡配置低的影响什么答:1、一些大型的3D类型的游戏无法运行。2、播放一些高清视频的时候电脑会有很大的压力。3、对于一些比较专业的软件,需要进行绘图和3D模型渲染时没有办法很好运行。4、显卡的配置低,那就会导致游戏打不开,或者频繁地闪退卡顿和卡死,电脑也会花屏,蓝屏。5、游戏里面最重要的就是显卡了,因为很多画面需

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment