对于sql2008已经很好的支持了transactionscope,而对于sql2005来说,支持的不是很好,它将多个savechanges()方法提升为分布式事务msdtc
MSSQL有个十分强大的工具SQL Server Profiler可以监控所有执行的SQL语句,可以用来监控到那些运行超时的SQL语句
当SQLServer的数据积累到一定的数量,查询效率往往急剧下降,常常让人无法忍受,DBREINDEX经常用到,它可以帮助我们重建指定表的索引,以提高查询的速度
如果MSSQL出现死锁,会导致系统非常慢,可以使用sql语句找到死锁spid,然后kill spid
ReadCommitted:只读已提交的数据,遇到未提交的事务型数据时,则一直等待,ReadUnCommitted:可以读未提交的数据
在SQL SERVER下跟踪sql采用事件探查器,而在mysql则用开启日志的方式来跟踪执行的SQL。找到mysql的配置文件后加入一行代码,然后重载配置文件,重启mysql后,就可以看到执行的SQL记录了。
在[mysqld]后面增加一行,log=/tmp/mysql.log,重载配置之后,再重启mysql,却报错,MySQL server PID file could not be found![失败]
LINQ中的AsQueryable和AsEnumerable方法最大区别在于,AsQueryable是在数据库端进行的数据处理后再返回,而AsEnumerable则刚好相反,大部分情况下,我们应该使用AsQueryable。
使用EntityFramework的时候,遇到“另一个 SqlParameterCollection 中已包含 SqlParameter“的错误,用param.Select(x => ((ICloneable)x).Clone()).ToArray()可以解决。
最近使用EntityFrameWorkCore的时候,使用的是mysql的数据库,但每次只要字段超过255个字符,存进数据库的时候都被截断,比如如果我录入500个文字,最终存进数据库的却只有255个字符,其它字符被截断了