MySql 到 SQL Server(MSSQL)
我用 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)的更多相关文章
- python 交互式命令行数据库连接助手 -- mysql、sql server (mssql)、redis
目录 python 交互式命令行数据库连接助手 0. 操作示例 1. python 连接mssql 2. python 连接mysql 3. python 连接redis n. Tips python ...
- Oracle、MySql、Sql Server比对
1. 价格 MySql:廉价(部分免费):当前,MySQL採用双重授权(DualLicensed),他们是GPL和MySQLAB制定的商业许可协议.假设你在一个遵循GPL的自由(开源)项目中使用 ...
- 手工注入——sql server (mssql)注入实战和分析
前言 首先要对sql server进行初步的了解.常用的全部变量@@version:返回当前的Sql server安装的版本.处理器体系结构.生成日期和操作系统.@@servername:放回运行Sq ...
- MYSQL和SQL Server 的区别
注意MYSQL使用注释 -- 时 要后面加上空格 使用 #不用 一.数据类型 MYSQL:支持enum和set类型 ;SQL SERVER:不支持 MYSQL:不支持nchar,nvarchar,nt ...
- 小麦苗数据库巡检脚本,支持Oracle、MySQL、SQL Server和PG等数据库
目录 一.巡检脚本简介 二.巡检脚本特点 三.巡检结果展示 1.Oracle数据库 2.MySQL数据库 3.SQL Server数据库 4.PG数据库 5.OS信息 四.脚本运行方式 1.Oracl ...
- sql server(mssql)联合注入
sql server(mssql)联合注入 sql server简介: SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可 ...
- 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 ...
- oracle 、mysql、 sql server使用记录
oracle .mysql. sql server使用记录 mysql常用命令: mysqld --启动mysql数据库 show databases; -- 查看数据库 use database; ...
- mysql与sql server参照对比学习mysql
mysql与sql server参照对比学习mysql 关键词:mysql语法.mysql基础 转自桦仔系列:http://www.cnblogs.com/lyhabc/p/3691555.html ...
- 数据库中聚合索引(MySQL和SQL Server区别)
一.聚集索引和非聚集索引 聚集索引:类似字典的拼音目录.表中的数据按照聚集索引的规则来存储的.就像新华字典.整本字典是按照A-Z的顺序来排列.这也是一个表只能有一个聚集索引的原因.因为这个特点,具体索 ...
随机推荐
- Codeforces Round #232 (Div. 1) A 解题报告
A. On Number of Decompositions into Multipliers 题目连接:http://codeforces.com/contest/396/problem/A 大意: ...
- Tomcat的错误 之 java.lang.IllegalArgumentException: Document base * does not exist
Tomcat的异常 之 java.lang.IllegalArgumentException: Document base 有些刚开始使用的Tomcat的朋友会出现的问题,明明已经将某个web应用从t ...
- Android Dialog 系统样式讲解及透明背景
AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this,AlertDialog.THEME_TRADIT ...
- 微信公众平台java开发具体解释(project代码+解析)
说明: 本次的教程主要是对微信公众平台开发人员模式的解说,网络上非常多类似文章,但非常多都让初学微信开发的人一头雾水,所以总结自己的微信开发经验,将微信开发的整个过程系统的列出,并对主要代码进行解说分 ...
- UVa 340 Master-Mind Hints (优化查找&复制数组)
340 - Master-Mind Hints Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_on ...
- Android Studio导入GitHub上的项目常见问题(以图片轮播开源项目为实例)
前言:github对开发者而言无疑是个宝藏,但想利用它可不是件简单的事,用Android studio导入开源项目会遇到各种问题,今天我就以github上的一个图片轮播项目为例,解决导入过程中的常见问 ...
- android实现边框圆角
1. 在drawable 下新建 shape.xml 文件 Xml代码 : 1 <?xml version="1.0" encoding="UTF-8" ...
- 灵活性比Listview更好的RecycleView
RecycleView:是Android L版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好. RecyclerView与ListView原理是类似的:都 ...
- /etc/motd and /etc/issue
/etc/motd and /etc/issue Bash offers an option to include messages in the /etc/motd and the /etc/iss ...
- 窗口 对话框 Pop Dialog 示例
两者的区别 PopupWindow和AlertDialog最大的区别: AlertDialog是非阻塞线程的,AlertDialog弹出的时候,后台可以做其他事情(也即弹出对话框后程序会继续向下执行) ...