关于asp.net项目的数据库设计
现状:
ProductBrand表(ID,Brand)
Product表(ID,BrandID,ProductName,T1,T2,T3)
User表(ID,UserName)
UserBrandLevel表(UserID,BrandID,Tier) UserID,BrandID联合主键
UserBrandLevel里存储某个客户在某个品牌所能看到的价格,在具体操作中出现了问题
核心查询
select Product.ID,Product.BrandID,ProductName,
case UserBrandLevel.tier when 1 then T1 when 2 then T2 else tier3 end As Price from Product
Left join UserBrandLevel on Product.BrandID=UserBrandLevel.BrandID and UserID=@UserID
可以解决按品牌和客户执行不同的价格,并组成一个表
问题:发现此查询特别消耗内存,很快Sqlserver占用了全部的内存而导致服务器崩溃。
希望各位提出好的建议!
初步考虑拆分Product表为Product表和Price表,但工程浩大。
相关推荐
【ASP.NET Web】项目实践—网上宠物店1:数据库设计
1、项目演示 1.1 界面效果 1.2 功能介绍 2、数据库设计 网站数据表 数据库表 说明 Account 用户表,保存用户账号信息及地址等用户资料 Category 宠物分类表,保存宠物的分类信息 Product 宠物表,保存宠物的具体信息 Cart 购物车表,保存购物车的具...
ASP.NET入门到项目实战完整指南
ASP.NET是微软开发的一个免费开源的Web开发框架,它基于.NET平台,允许开发者使用.NET语言创建Web应用程序。它支持多种编程语言,但最常见的是C#。ASP.NET的强大之处在于它将网页与服务器端代码紧密集成,提供了一种高效的开发模型。对象关系映射(ORM)是一种编程技术,用于在不同类型的系统之间转换数据。在数据库领域,ORM技术将关系数据库中的表映射为面向对象编程语言中的对象。代码块示例// 示例代码:定义一个用户类并映射到数据库中的用户表set;set;
C# ASP.NET通讯录项目实战复盘:从数据库设计到部署发布
在Web开发中,通讯录系统是典型的企业级信息管理场景,其核心在于数据建模与业务功能的稳妥落地。数据库设计是这类项目的根基,字段类型与索引规划直接影响后续查询效率与数据准确性,例如电话号码这类“数字型文本”必须使用字符串存储,避免前导零丢失。在此基础上,数据访问层通过封装SqlHelper并配合参数化查询,既提升代码复用性,也有效防范SQL注入风险。ASP.NET的GridView控件为列表展示、增删改查提供了高效方案,但在数据量增大时应从客户端分页切换为数据库分页,以保障响应速度。从联系人管理、分组维护到搜
ASP.NET网上论坛项目全解析:源代码、数据库、文档及论文
虽然Forms认证和Windows认证是最常用的身份验证方式,但在某些特定情况下,可能需要采用更灵活的认证方式,此时就需要实现自定义认证。自定义认证允许开发者根据自己的业务需求和安全标准来实现认证逻辑。自定义认证可能涉及的步骤包括:创建认证票据(例如,生成一个Token)。在客户端和服务器端之间传递和验证该票据。对于未通过验证的请求,处理重定向或返回错误。
仓库管理系统ASP.NET完整实战项目源码与数据库设计
在现代企业运营中,仓库管理系统(Warehouse Management System, WMS)扮演着至关重要的角色。随着信息技术的发展,通过软件系统来提高仓库管理效率和准确性已成为企业提升竞争力的关键手段。ASP.NET作为一种广泛使用的Web开发框架,以其强大的功能和成熟的生态系统,成为了构建企业级仓库管理系统的一个理想选择。系统架构图是理解整个仓库管理系统功能和组件如何相互协作的关键。架构图提供了一个高层次的视角,将系统分解成其基本组件,并展示了这些组件如何在逻辑上交互。


