大侠快来啊~~~~简单insert语句执行花很长时间~~~~~~为什么啊~~~
- C# code
int rows = -1; string query = "INSERT Into LevelSpace(LevelNumber1, LevelNumber2, LevelNumber3, LevelNumber4, LevelNumber5, LevelNumber6, createdby, updatedby, createddate, updateddate) VALUES(@custLevel, @prodLevel, @regionLevel, NULL, NULL, NULL, 1, 1, getdate(), getdate());select @LevelSpaceID=@@identity from LevelSpace"; SqlCommand sc = new SqlCommand(query,getSqlConnection()); int cmd_to_value; bool has_value = Int32.TryParse(ConfigurationManager.AppSettings["R90.Plan-CreateLevelSpace"] , out cmd_to_value); if(!has_value) sc.CommandTimeout = _defaultCmdTO; else sc.CommandTimeout = (cmd_to_value < 30) ? 30 : cmd_to_value; if ( custLevel != null ) sc.Parameters.Add("@custLevel",SqlDbType.Int,4).Value = (int)custLevel; else sc.Parameters.Add("@custLevel",SqlDbType.Int,4).Value = DBNull.Value; if ( prodLevel != null ) sc.Parameters.Add("@prodLevel",SqlDbType.Int,4).Value = (int)prodLevel; else sc.Parameters.Add("@prodLevel",SqlDbType.Int,4).Value = DBNull.Value; if ( regionLevel != null ) sc.Parameters.Add("@regionLevel",SqlDbType.Int,4).Value = (int)regionLevel; else sc.Parameters.Add("@regionLevel",SqlDbType.Int,4).Value = DBNull.Value; sc.Parameters.Add("@LevelSpaceID",SqlDbType.Int,4).Direction = ParameterDirection.Output; SqlPerf sqpe = SqlPerf.CreateInstance("CreateLevelSpace",query); SqlDataReader dr = null; try { startup(sc,sqpe, false ); rows = sc.ExecuteNonQuery(); }这里为什么rows=1了,数据库里面没有插入数据
如果这个时候在数据库内插入上面的数据就要花很长时间,比如
- SQL code
declare @LevelSpaceID intINSERT Into LevelSpace(LevelNumber1, LevelNumber2, LevelNumber3, LevelNumber4, LevelNumber5, LevelNumber6, createdby, updatedby, createddate, updateddate) VALUES(1, 1, 1, NULL, NULL, NULL, 1, 1, getdate(), getdate());select @LevelSpaceID=@@identity from LevelSpaceprint @LevelSpaceID
这个居然要花2分钟,~~~~这个表里面一共也就10多行数据
求解啊~~~
[解决办法]
感觉不应该是数据库端的问题。
[解决办法]
startup(sc,sqpe, false );这是什么函数、查询时间长估计就是这个函数,
[解决办法]
表加了索引插入会变慢
[解决办法]
[解决办法]
LZ右键点击 表 ,然后 编写表脚本为 insert