由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
DotNet版 - 问个best practice
相关主题
好久不来,问个弱问题arraylist里面的对象序列化后如何检索?
问个多语言的Windows Application问题ArrayList question
JQuery and Master Pagesabout ArrayList
C# interview question如何同步多个程序同时读取一个文件
ArrayList??请问arraylist的问题。
C#问题请教请教session的问题。
c++ managed code 几个问题请教:第一个page产生的arraylist,如何在第二个page调用?
ArrayList如何保存到文件?刚去java版转了一圈
相关话题的讨论汇总
话题: shuffle话题: items话题: search话题: db话题: temptable
进入DotNet版参与讨论
1 (共1页)
D******y
发帖数: 3780
1
【 以下文字转载自 Programming 讨论区 】
发信人: DrDonkey (DrDonkey), 信区: Programming
标 题: 问个best practice
发信站: BBS 未名空间站 (Wed Jan 7 20:53:45 2009), 转信
有一个table Products.
要求用户在web上搜索后返回随机顺序, 而且显示的时候要求带paging
请问我该怎么作?
是该一次把数据都从DB读出来,Populate到Product的object里面, 然后放到一个Arra
yList里面,Shuffle, 再从ArrayList里面提取objects来implement paging? 或者只把
ProductID放到Session里面,不过这要是Products table太大,也不太现实阿
还是该一次只读一部分数据(Items Per Page), 这样是不是必须用TempTable了阿(
SELECT
, then shuffle, then insert into temptable), 那岂不是每个用户session都要一个
tem
ptab
l*s
发帖数: 783
2
第二种方式满足要求吗?只是在page items里shuffle而不是全部结果?
如果满足那是Time vs Space的考虑

Arra

【在 D******y 的大作中提到】
: 【 以下文字转载自 Programming 讨论区 】
: 发信人: DrDonkey (DrDonkey), 信区: Programming
: 标 题: 问个best practice
: 发信站: BBS 未名空间站 (Wed Jan 7 20:53:45 2009), 转信
: 有一个table Products.
: 要求用户在web上搜索后返回随机顺序, 而且显示的时候要求带paging
: 请问我该怎么作?
: 是该一次把数据都从DB读出来,Populate到Product的object里面, 然后放到一个Arra
: yList里面,Shuffle, 再从ArrayList里面提取objects来implement paging? 或者只把
: ProductID放到Session里面,不过这要是Products table太大,也不太现实阿

D******y
发帖数: 3780
3
thanks les
you are talking about using temp table?
i thought of select all records, then shuffle, then insert all record into a
temptable, so the records are all random sorted.

【在 l*s 的大作中提到】
: 第二种方式满足要求吗?只是在page items里shuffle而不是全部结果?
: 如果满足那是Time vs Space的考虑
:
: Arra

l*s
发帖数: 783
4
问题是如果每次分页前先shuffle所有结果,那么用户选取第一次选取第二页的内容将
和第二次选取第二页的返回结果不一样。
你的第一种方法(shuffle所有结果进cache然后分页)没有问题。我只是不太清楚我是
否理解了你第二种方法

a

【在 D******y 的大作中提到】
: thanks les
: you are talking about using temp table?
: i thought of select all records, then shuffle, then insert all record into a
: temptable, so the records are all random sorted.

D******y
发帖数: 3780
5
the second apporach only shuffle the sequence once (and all), then each time
when select items for each page, no need shuffle again...

【在 l*s 的大作中提到】
: 问题是如果每次分页前先shuffle所有结果,那么用户选取第一次选取第二页的内容将
: 和第二次选取第二页的返回结果不一样。
: 你的第一种方法(shuffle所有结果进cache然后分页)没有问题。我只是不太清楚我是
: 否理解了你第二种方法
:
: a

l*s
发帖数: 783
6
第二种方法显然scalability差。
第一种方法如果data相对比较static,可以把所有数据放入singleton object或
application cache.然后每个用户的paged items放入context cache or object(not
session)

time

【在 D******y 的大作中提到】
: the second apporach only shuffle the sequence once (and all), then each time
: when select items for each page, no need shuffle again...

D******y
发帖数: 3780
7
hi les, thanks again.
ok, let's talk about the 1st approach more.
users need "search" the items by certain properties, do you mean I should
search the items against the cached data (contain all items), that will be
really slow comparing with search against DB, right?
but if I store the search results for each user into the cache, if I got too
many users, that's a lot of memory cost....

【在 l*s 的大作中提到】
: 第二种方法显然scalability差。
: 第一种方法如果data相对比较static,可以把所有数据放入singleton object或
: application cache.然后每个用户的paged items放入context cache or object(not
: session)
:
: time

l*s
发帖数: 783
8
Search against the cache object is not necessary to be slower than search against db considering there is less overhead(connection initialization,data transfer)

too

【在 D******y 的大作中提到】
: hi les, thanks again.
: ok, let's talk about the 1st approach more.
: users need "search" the items by certain properties, do you mean I should
: search the items against the cached data (contain all items), that will be
: really slow comparing with search against DB, right?
: but if I store the search results for each user into the cache, if I got too
: many users, that's a lot of memory cost....

D******y
发帖数: 3780
9
so i should store "dataset" in the cache instead of list of my "objects",
right?

against db considering there is less overhead(connection initialization,data
transfer)

【在 l*s 的大作中提到】
: Search against the cache object is not necessary to be slower than search against db considering there is less overhead(connection initialization,data transfer)
:
: too

l*s
发帖数: 783
10
It's up to you.

data

【在 D******y 的大作中提到】
: so i should store "dataset" in the cache instead of list of my "objects",
: right?
:
: against db considering there is less overhead(connection initialization,data
: transfer)

1 (共1页)
进入DotNet版参与讨论
相关主题
刚去java版转了一圈ArrayList??
WebClient is not thread-safe!C#问题请教
asp.net随机排列,怎么分页c++ managed code 几个问题
请教一个问题: 关于excel的ArrayList如何保存到文件?
好久不来,问个弱问题arraylist里面的对象序列化后如何检索?
问个多语言的Windows Application问题ArrayList question
JQuery and Master Pagesabout ArrayList
C# interview question如何同步多个程序同时读取一个文件
相关话题的讨论汇总
话题: shuffle话题: items话题: search话题: db话题: temptable