案件
dispositives基本上由形成id, type, name.dispositives.log所有的东西dispositives.这是系统中最大的表.(现在计算100英里的记录)log表有:id_dispositive, date, status.问题
显然这个巨大的数据导致了性能问题.我必须存储至少两个月的日志值..
今天,我有这样dispositives的type:
TYPE COUNT
---------------
1 78956
2 125161
3 13213
4 6112
5 25426
6 12314
7 1241
8 622
Run Code Online (Sandbox Code Playgroud)
我也有一些业务逻辑来提供这个log表.无论如何,这是我的想法:
我的"解决方案"
我正在考虑分区这张log桌子.这是问题:
由于这种类型是动态的,用户可以删除/插入新的.
因此,如果他们删除某些类型,我必须删除该类型的所有日志.好像他们插入了某种类型,我必须注册(存储)该类型的所有日志.
根据Francesco Serra的回答编辑
我正在尝试创建这样的表:
create table log(
id_dispositive number,
type number,
date_verification date,
status number
)
partition by range …Run Code Online (Sandbox Code Playgroud) 我有一个监控手机的系统.众所周知,手机可以有一两个SIM卡.众所周知,有不同的运营商.所以我想展示一个包含手机和运营商所有可能组合的过滤器.今天我有一个10k设备的世界.最后,系统显示设备测量值,但用户可以通过电话制造商(苹果,三星,诺基亚等),型号和操作员过滤这些统计数据.
所以我有这个表单,可以显示使用我的设备Universe的所有当前组合.
最后我有这样的过滤器:
<select id="filter" multiple="multiple">
<optgroup label="Model">
<option value="1">iPhone</otion>
<option value="2">Samsung</otion>
<option value="3">Asus</otion>
</optgroup>
<optgroup label="Operator">
<option value="1">Digicel</otion>
<option value="2">FLOW</otion>
<option value="3">Rogers</otion>
<option value="4">Telus</otion>
<option value="5">Bell</otion>
...
...
<option value="2,3">FLOW,Rogers</otion>
<option value="2,5">FLOW,Bell</otion>
<option value="3,1">Rogers,Digicel</otion>
...[I don't know all current combinations..this is a dynamic filter]
</optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)
数据库模型
所以我有主要的设备表(我将只放置"重要"的列):
devices
------------
id_device (pk) | id_manufacter (fk) | id_model (fk)
------------
1 | 1 | 10
2 | 1 | 13
3 | …Run Code Online (Sandbox Code Playgroud) 我们正在使用ASP.NET MVC4开发一个项目.在团队的一次会议中,出现了使用Session per request 模式的想法.
我做了一些搜索,并在SO中发现了一些问题 - 一般来说 - 这种模式(如果可能被称为)它表示框架ORM.
一个小例子
//GET Controller/Test
public ActionResult Test()
{
//open database connection
var model = new TestViewModel
{
Clients = _clientService.GetClients(),
Products = _productService.GetProducts()
};
//close database connection
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
没有每个请求的会话:
//GET Controller/Test
public ActionResult Test()
{
var model = new TestViewModel
{
Clients = _clientService.GetClients(), // Open and close database connection
Products = _productService.GetProducts() // Open and close database connection.
};
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
疑惑
我有一个服务器有2个IP地址.
我在.net(webapi,一个控制台应用程序等)中使用多个应用程序,并使用在apache(w/xampp)上运行的PHP.
我将IIS配置为在默认端口80上运行,xampp使用端口8080.
正如我之前所说,我有两个IP地址和两个域(例如:domain1.com和domain2.com).
我需要将domain1.com.br指向IIS应用程序(这是有效的),但我的php应用程序永远不会到达,因为所有请求都被定向到端口80(iis控制).
var finalList = new List<string>();
var list = new List<int> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ................. 999999};
var init = 0;
var limitPerThread = 5;
var countDownEvent = new CountdownEvent(list.Count);
for (var i = 0; i < list.Count; i++)
{
var listToFilter = list.Skip(init).Take(limitPerThread).ToList();
new Thread(delegate()
{
Foo(listToFilter);
countDownEvent.Signal();
}).Start();
init += limitPerThread;
}
//wait all to finish
countDownEvent.Wait();
private static void Foo(List<int> listToFilter)
{
var listDone = Boo(listToFilter);
lock (Object)
{
finalList.AddRange(listDone);
}
} …Run Code Online (Sandbox Code Playgroud)