<div class=\"content-body\">主要针对mysql5的一些新特性说起:
<span style=\"COLOR: rgb(255,0,0)\">1、存储过程
一个我非常喜欢的东西,因为我习惯把对数据库的操作(DAL层),都封装在存储过程里,这样在对于一个项目里如配有专有的数据库开发人员来说,是非常方便的,因为他可以不懂脚本编程,而只需要专心编写存储过程就行了,脚本的调用,只需要在之前协商好接口规范即可。
晕,说远了,该说mysql5下的感受了。
首先的感受就是他不是编译型的,感觉有点是解释型的。因为在建立的时候,他只会提示基本的语法错误,但不会对具体查询是否可以成功执行而做出提示,但是在mssql里,却是会完全提示出来。基于已知mssql的sp是事先编译的,因此判断mysql下的sp不是事先编译的。那么这个改进起码可以说是只成功了一半。因为在sp里一般会封装比较多的操作,而如果只有等到执行的时候才发现错误,查错是非常之痛苦的。
第2个就是他的查询浏览器(就是类似于mssql下的查询分析器的东西,但功能上差太多了。)每个版本都有改进,但有时候居然会新版本出现旧版本根本不会出错的BUG,真服了那些人了。
第3点就是如果之前测试的时候服务器是在windows环境下的话,那么如果转移到linux的话,就会出现一些莫名其妙的错误,例如在windows下可以在存储过程中调用其他存储过程的话,在linux下就不行了,而且好象在装linux的时候,必须设置一个参数,否则就不能调用存储过程。
第4点就是他存储过程里的变量声明,居然是弱类型的,即可以不declare就直接使用,并且就算是已经declare的话,在赋值的时候居然不会出错,但却会自动进行类型转换。这个东西害我不浅啊。。。。。
<span style=\"COLOR: rgb(255,0,0)\">2、触发器
我至今尚未能真正用得到他。因为在使用手册中,例子只说了如何在update之前去检验数据的有效性,然后入库,但没提到如何在触发器里去改写其他表的数据。而在我的测试里,根本不能改写其他表的数据,提示该表不在锁状态,晕了,,,而如果我在触发器里使用lock语句的话,却又提示我lock不能用在这个地方里。倒。如果是这样的话,那么这个新特性也只成功了一半。
<span style=\"COLOR: rgb(255,0,0)\">3、客户自定义函数
这个东西我也很喜欢,因为通过调用他,可以省略很多在脚本级操作。不过在这个项目里,没用到他。soso,对它不是很了解。
<span style=\"COLOR: rgb(255,0,0)\">4、没有定时作业
这个东西对于一个比较大型的系统来说,是非常之有用的,但居然mysql还是没有把它加入进来,唉。。。
总体来说,这次与mysql的亲密接触,令我非常失望。以前对它的一点点好感也没有了,除了速度快,free,在商业应用里几乎一无是处。
<div class=\"content-body\">
<div class=\"content-body\">补充一下,在最新的5。0。10以上版本,触发器好象就可以对其他表进行操作了。。。根据他的说明,但偶尚未有空去测试这个,soso。。。。
[
点击查看详细]
分享到:
相关推荐
MySQL 5.7学习笔记 数据库概述: 数据库(Database)是一种存储数据的“仓库”,其本质是一个文件系统,保存了一系列有组织的数据。数据库管理系统(Database Management System)是一种操纵和管理数据库的大型...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,用于存储和管理数据。在MySQL的学习过程中,了解其基本概念、安装、数据类型、表操作、查询语言、索引、事务处理以及备份恢复等核心知识点至关重要。 1. **MySQL...
MySQL是世界上最受欢迎的关系型数据库管理系统(RDBMS)之一,由...以上是对MySQL笔记的概览,每一点都值得深入学习和实践。通过掌握这些知识点,你可以更好地管理和操作MySQL数据库,提升数据库应用的效率和稳定性。
这两天学习了nodejs mysql 实现分页,很重要,所以,今天添加一点小笔记。 代码如下 var express = require('express'); var router = express.Router(); var settings = require('../settings.js'); var mysql =...
5、在windows操作系统当中,怎么使用命令来启动和关闭mysql服务呢? 6、mysql安装了,服务启动了,怎么使用客户端登录mysql数据库呢? 7、mysql常用命令 8、数据库当中最基本的单元是表:table 9、关于SQL语句的分类...
### 关于PDO操作的一点笔记 #### 一、连接数据库 PDO(PHP Data Objects)是一种轻量级且功能强大的数据库访问层,它提供了一个统一的接口来与多种数据库进行交互。PDO 支持多种数据库系统,包括 MySQL、SQLite、...
首先,文档中提到的MySQL是一个广泛使用的关系型数据库管理系统。在Linux环境下安装MySQL时,首先需要下载MySQL的二进制安装包。在Linux系统中安装软件包,尤其是像MySQL这样的大型软件,需要提前加大虚拟内存以加快...
本篇笔记将总结MySQL的学习要点,包括慢查询日志、日志分类、SQL架构以及其内部组件的功能。 首先,慢查询日志是MySQL中用于追踪执行时间过长的SQL语句的重要工具。默认情况下,MySQL不会记录所有查询,但可以通过...
写此文档和大家共同学习VC与MYSQL高性能数据库的连接技术,同时也做为学习笔记,我想对于每一位初学者来说都能体会到入门的艰辛,所以想把自己学到的一点知识和朋友们共同巩固一下。发现网上此类文档和实例不是很多...
理解这一点有助于区分前端和后端的角色。此外,确保安装了合适的开发环境,如XAMPP或WAMP,以便于本地测试PHP代码。 ### PHP 基础班课程体系 PHP的学习通常包括以下部分: 1. **PHP安装与配置**:了解如何在本地...
为了更好地理解这一点,我们可以通过一个具体的例子来深入探讨。 假设有一个用户表 `t_user` 包含如下字段: - `CNO` (用户编号) - `FNAME` (名) - `LNAME` (姓) - `CITY` (居住城市) 表结构如下所示: ```sql ...
8. **数据库操作**:PHP常与MySQL数据库配合,使用`mysqli`或`PDO`扩展进行连接、查询、插入、更新和删除操作。例如,`mysqli_connect()`建立连接,`mysqli_query()`执行SQL查询。 9. **错误和异常处理**:PHP使用`...
它是B+树,这里有一点要注意的,数据=索引; 叶子结点存放数据、主键、事务ID、回滚指针的。 二级索引最终都会指向主键索引。 在InnoDB引擎中,创建表没有主键,InnoDB会把not null中unique作为主键,若这样的列也...
在自学的过程中,小生不才,整理了一点狂神的笔记同大家分享,这是狂神说SpringMVC的全部笔记及代码,之前已经将Spring和Mybatis的笔记整理上传了,需要的伙伴可以自行下载,也有整套笔记在主页...
特别是当sql语句比较长时 2、批量查询数据 可以用in来实现 $sql=”select * from article where id in(1,3,5)” 3、使用concat连接查询的结果 $sql=”select concat(id,”-“,con) as res from article ...
你可以使用`SHOW CHARACTER SET`命令查看MySQL支持的所有字符集及其相关信息,例如默认的排序规则(Collation)和最大长度。 选择正确的字符集对于正确显示和处理各种语言的文本至关重要。例如,如果你需要存储...
### Linux学习笔记——深入探索Linux系统管理与应用 #### 核心知识点概览: 1. **Linux系统安装与配置** 2. **理解Linux文件系统结构** 3. **关键目录及其重要性** 4. **系统安全与用户管理** 5. **服务配置与管理...
看着害怕对于我这种喜欢一切从简的人来说,MySQL是个不错的选择好了,关于数据库的大理论我就懒得写了,那些考试必备的内容我已经受够了我只需要知道一点,人们整理数据和文件的行为在不断进化,以至现在使用数据库...
例如,如果学校课程设置中包含大量的Java或Python编程教学,那么使用MySQL数据库可能更加方便学生在不同平台上进行开发和测试。 文章中提到,SQL Server和MySQL数据库自推出以来,已经在各行各业得到广泛应用,并且...