根据Varchar型字段login Select数据时
原来没有指定类型SqlDbType.VarChar
comd.Parameters.Add("@login",login.Text.Trim());
后来指定了DB类型SqlDbType.VarChar
comd.Parameters.Add("@login",SqlDbType.VarChar);
comd.Parameters["@login"].Value = login.Text.Trim();
为什么后一种的效率比前一种快几十倍啊(试验过),希望高手指点。
-----
还有是不是根据Nvarchar型字段查询的效率,远低与varchar型啊?
原来没有指定类型SqlDbType.VarChar
comd.Parameters.Add("@login",login.Text.Trim());
后来指定了DB类型SqlDbType.VarChar
comd.Parameters.Add("@login",SqlDbType.VarChar);
comd.Parameters["@login"].Value = login.Text.Trim();
为什么后一种的效率比前一种快几十倍啊(试验过),希望高手指点。
-----
还有是不是根据Nvarchar型字段查询的效率,远低与varchar型啊?
解决方案 »
- 哪里错了??
- 一个SiteMapProvider的问题
- Repeater字符串截取固定长度的问题(C#)
- 看看这个功能是怎么实现的?
- 用过UltraWebTree朋友进来帮忙:关于节点选择(checked)问题!!高分相送
- 在默认的localhost下建立一个 MyWeb/WebForm1.aspx,如何让局域网中的其他机器访问?
- CS0103: The name 'DAL' does not exist in the current context
- 怎么才能进行客户端验证?
- 妹妹求救~~~~~~~~~~大哥哥帮忙了!!!
- 查看 .aspx 页面生成的控件树
- [11.14]从数据库与从XML文件读取数据, 哪个效率高?
- XML+XSLT 生成 HTML怎么写?
不用ID就建立索引
SqlDbType.VarChar
comd.Parameters.Add( "@login ",login.Text.Trim());
和
SqlDbType.VarChar
comd.Parameters.Add( "@login ",SqlDbType.VarChar);
comd.Parameters[ "@login "].Value = login.Text.Trim(); 用同样的结构测试一下吧!!
comd.Parameters.Add( "@login ",login.Text.Trim());
后来指定了DB类型SqlDbType.VarChar
comd.Parameters.Add( "@login ",SqlDbType.VarChar);
comd.Parameters[ "@login "].Value = login.Text.Trim();
===============================================================个人理解:
你用parameters参数传递,在第一种的情况下,@login是要判断是那个参数类型;二是要再遍历参数类型,找到对应的类型后,再对其进行赋值。
时间浪费在了参数类型的判断上了。对于nvarchar和varchar的区别:
从存储方式上: nvarchar是按字符存储的,而 varchar是按字节存储的;
从存储量上考虑: varchar比较节省空间,因为存储大小为字节的实际长度,而 nvarchar是双字节存储;nvarchar:不管是一个字符还是一个汉字,都存为2个字节;
varchar: 汉字是2个字节,其他字符存为1个字节;
这点要注意:varchar 适合与存储英文和数字; nvarchr一般用于存储中文或其他语言的输入,因为 这样,可以防止到其他语言平台上出现乱码的问题。