我用 MySql 2年了,一直都是 asp.net + MySql 开发

为什么不用 MSSQL呢?

原因 :

在我的国家,几乎找不到任何一间托管公司有提供 SQL SERVER 的,有的话也是 2005 年的版本,不然就是非常高的价钱。

我觉得很奇怪,为什么美国的托管公司也是 asp + mssql 但是价钱却差那么远呢。

一直到近期的项目,这2个不同公司的产品兼容问题越来越大,所以呢,我决定放弃MySql了。

这次的导火线要从一个bug说起了.

https://bugs.mysql.com/bug.php?id=74918

https://bugs.mysql.com/bug.php?id=72058

http://bugs.mysql.com/bug.php?id=70722

目前我用的是 6.9.5的版本connector,有个bug,官网说 6.9.6 会fix , 那么我只好退用 6.9.4 , 因为这个bug是6.9.5才出现的。

怎么知道6.9.4也遇到了一个bug,说 6.9.5 会fix .

这进退两难的情况让我非常火大。

常年以来 connector 是没什么问题,一直到我开始使用 Entity Framework 和 Web API. (所以如果你没有使用的话,还是挺好的)

MySql 还有一个困扰我的问题就是不支持 DateTimeOffset (这比DateTime好很多) , 还有 TimeSpan (rowVersion , 乐观并发长用到的)

替换的过程并不复杂。

1. web config 关于 mysql 的都可以去掉了.

2. mysql 的乐观并发是用 timespan + DateTime 完成的, mssql 是 timespan + byte

3. mssql datetimeoffset 支持在 insert 的时候又 sql 自动填入当前时间 , 这个在 mysql 也是不可以的 (5.6我不情况是否可以, 我用的是5.1)

4. mssql 的 last modified datetime 必须写 trigger 来完成 , mysql 只要用 timespan 就可以了 .

大至少就这样。

那么 mssql 和 mysql 的功能其实差不多,都是数据库吗,该有的都有。

不过引擎和优化就比较不同了(那天先 explain 看一下语句 结果..= ="),这个我一时也没法学,反正大都用 EF 生产语句,以后才研究吧。

我从前关于 MySql + asp.net 的文章,两者的区别我以后都会更新上去,如果你和我有同样的遭遇希望可以帮到你 ^^

MySql 到 SQL Server(MSSQL)的更多相关文章

  1. python 交互式命令行数据库连接助手 -- mysql、sql server (mssql)、redis

    目录 python 交互式命令行数据库连接助手 0. 操作示例 1. python 连接mssql 2. python 连接mysql 3. python 连接redis n. Tips python ...

  2. Oracle、MySql、Sql Server比对

    1.    价格 MySql:廉价(部分免费):当前,MySQL採用双重授权(DualLicensed),他们是GPL和MySQLAB制定的商业许可协议.假设你在一个遵循GPL的自由(开源)项目中使用 ...

  3. 手工注入——sql server (mssql)注入实战和分析

    前言 首先要对sql server进行初步的了解.常用的全部变量@@version:返回当前的Sql server安装的版本.处理器体系结构.生成日期和操作系统.@@servername:放回运行Sq ...

  4. MYSQL和SQL Server 的区别

    注意MYSQL使用注释 -- 时 要后面加上空格 使用 #不用 一.数据类型 MYSQL:支持enum和set类型 ;SQL SERVER:不支持 MYSQL:不支持nchar,nvarchar,nt ...

  5. 小麦苗数据库巡检脚本,支持Oracle、MySQL、SQL Server和PG等数据库

    目录 一.巡检脚本简介 二.巡检脚本特点 三.巡检结果展示 1.Oracle数据库 2.MySQL数据库 3.SQL Server数据库 4.PG数据库 5.OS信息 四.脚本运行方式 1.Oracl ...

  6. sql server(mssql)联合注入

    sql server(mssql)联合注入 sql server简介: SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可 ...

  7. sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\itsm_Data.MDF'。数据库 'my1' 正在使用该文件的解决方案

    对数据库备份进行还原时遇到“sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQ ...

  8. oracle 、mysql、 sql server使用记录

    oracle .mysql. sql server使用记录 mysql常用命令: mysqld --启动mysql数据库 show databases; -- 查看数据库 use database; ...

  9. mysql与sql server参照对比学习mysql

    mysql与sql server参照对比学习mysql 关键词:mysql语法.mysql基础 转自桦仔系列:http://www.cnblogs.com/lyhabc/p/3691555.html ...

  10. 数据库中聚合索引(MySQL和SQL Server区别)

    一.聚集索引和非聚集索引 聚集索引:类似字典的拼音目录.表中的数据按照聚集索引的规则来存储的.就像新华字典.整本字典是按照A-Z的顺序来排列.这也是一个表只能有一个聚集索引的原因.因为这个特点,具体索 ...

随机推荐

  1. hp-ux-ia64:jffi/ffi 编译总结

    在HP-UX-IA64下编译JFFI及FFI遇到很多问题,官网jffi文档中也并没有在hp-ux-ia64平台上有编译过. 次文档仅为记录之用.记录编译过程,但并不意味着本人遇到的问题已经解决. 注意 ...

  2. eclipse打开一闪而过,环境安装正确

    一:查看错误信息 开始,运行->cmd.execd 进入eclipse目录D:\JavaTools\eclipse\eclipse.exe>eclipsec.exe,看console输出是 ...

  3. UITextView ios7

    UITextView *textView2 = [[UITextView alloc]initWithFrame:CGRectMake(, textView1.frame.size.height + ...

  4. [Java] Tcp/udp 简单通信

    本文转自  我自己的博客guozeyiblog.cn 欢迎来訪 效果图: //UDP通信 import java.awt.*; import java.awt.event.ActionEvent; i ...

  5. JAVA设计模式(09):结构型-代理模式(Proxy)

    代理模式是经常使用的结构型设计模式之中的一个,当无法直接訪问某个对象或訪问某个对象存在困难时能够通过一个代理对象来间接訪问,为了保证client使用的透明性,所訪问的真实对象与代理对象须要实现同样的接 ...

  6. C++获得系统路径

    源码: [cpp] view plaincopy #include <Shlobj.h> #include <stdio.h> #include <locale.h> ...

  7. Cobar是提供关系型数据库(MySQL)分布式服务的中间件

    简介 Cobar是提供关系型数据库(MySQL)分布式服务的中间件,它可以让传统的数据库得到良好的线性扩展,并看上去还是一个数据库,对应用保持透明. 产品在阿里巴巴稳定运行3年以上. 接管了3000+ ...

  8. [转] gdb中忽略信号处理

    信号(Signals) 信号是一种软中断,是一种处理异步事件的方法.一般来说,操作系统都支持许多信号.尤其是UNIX,比较重要应用程序一般都会处理信号.UNIX定义了许 多信号,比如SIGINT表示中 ...

  9. VNC 黑屏

    参考资料: http://blog.sina.com.cn/s/blog_57edaf600100serf.html http://www.programgo.com/article/43581885 ...

  10. linux中内核的一个不错的参数somaxconn

    导读:在linux中,/proc/sys/net/core/somaxconn这个参数,linux中内核的一个不错的参数somaxconn 看下其解析: 对于一个TCP连接,Server与Client ...