0
在Asp.net C#我用下面的代碼來從一個MySQL數據庫中選擇:問題關於MySQL索引和Asp.net C#
string userid = "12";
MySqlCommand mysqlcmd = new MySqlCommand("SELECT productid FROM table WHERE userid=?userid", mysqlconn);
mysqlcmd.Parameters.AddWithValue("?userid", userid);
mysqlcmd.Connection.Open();
mysqlcmd.ExecuteReader();
...
在該表中的用戶ID是int類型的。如果我在userid表上有一個索引,這個查詢將會發生什麼,即使我添加到參數中的userid是一個字符串,並且表中的索引是int,它是否能夠很好地使用索引?
難道給我更好的性能,以增加用戶ID的參數轉換用戶ID爲int這樣前:
int userid_int = Int32.Parse(userid);
MySqlParameter param = new MySqlParameter("?userid", MySqlDbType.Int32);
param.Value = userid_int;
cmd.Parameters.Add(param);
還是確定只使用:
mysqlcmd.Parameters.AddWithValue("?userid", userid);
可能的dup http://stackoverflow.com/questions/2823674/sql-net-sqlparameters-addwithvalue-are-there-any-negative-performance-im – 2011-02-03 18:59:30
@The Scrum Meister所以從我的理解是可以的使用AddWithValue(),因爲這會自動爲我設置正確的參數類型? – Martin 2011-02-03 19:17:54