问题列表 - 第9862页

RDBMS中有序列表最合适的数据结构?

我在MySQL数据库中存储了数百万项的有序列表.通常,需要在列表中添加或删除项目; 同样经常,必须确定项目列表中的位置.我会说读/写比率大约是50:50.

从链表模型开始,我阅读[1]和那里讨论的各种模型.对于严格的链表,邻接列表模型可以正常工作,但由于读/写比率或多或少相等,我采用标准连续列表进行分而治之:

将整个列表划分为近似长度的"桶"(比如~10000),保持桶大小的索引及其在主列表中的相对位置.每个项目都分配给一个特定的存储桶,并跟踪其在该存储桶中的位置.

通过这种方法,项目的位置是通过将列表中项目桶之前的桶的大小相加,然后在其自己的桶中添加项目的位置来确定的.要从列表中插入/删除项目,结果项目的"移位"将本地化到要添加或删除项目的存储区; 该桶的大小也必须相应更新.

在这种方法中存在一些非规范化(桶大小),即使对于事务,它也不具有本质上的线程安全性,因为在删除/插入期间必须查询项目表以确定要修改的项目的桶位置,然后更新以对该项目的存储桶中的所有其他项执行"移位".除非这些操作是原子的(通过存储过程可能?)线程始终是死锁.

是否有更复杂的方法将这种数据保存在RDBMS中?线程安全问题让我头痛不已,感觉应该有更好的方法来解决这个问题,而不是强迫我使用存储过程.

非常感谢,马特.

[1] 树数据结构的数据库结构

mysql database-design html-lists data-structures

6
推荐指数
1
解决办法
2360
查看次数

如何将Perl脚本的输出包含到PHP页面中?

我们被要求在新网站上支持一些相当旧的Perl表单,因为我们正在使用基于PHP的CMS,我们需要将Perl脚本包含到我们的新CMS中.

我已经尝试了一些shell_exec但是已经禁用了.有没有人有任何想法?

php forms perl include

7
推荐指数
1
解决办法
2380
查看次数

在数据库中仅保存日期和月份的最佳方法

我们必须保存每年重复活动的日期和月份.(将其视为必须将发票发送给客户的那一年.)

我们将不得不使用这些信息进行一些计算.例如,如果客户每年支付两次.然后,我们不仅要检查今天是否是今天,而且如果这一天是6个月.

我们现在有几个选项:a)我们将信息保存在DATE字段中但忽略年份.b)我们在数据库date_day和date_month中创建两个int字段.c)我们创建一个varchar字段然后进行正则表达式并在每次进行计算时拆分例如31.12.

我们做了几次测试,发现c)肯定太慢了.但我们仍然有选项a)和b).首先我们想要去b)但经过一些测试我们更倾向于a).

是否有一个很好的技术原因可以使一个选项比另一个更好?

(我们目前正在使用MySQL.如果这很重要.)

database database-design date

10
推荐指数
1
解决办法
5471
查看次数

在Android上安装预构建的二进制文件:"not found"

我正在尝试在自定义Android映像中安装预构建的二进制文件.为此,我将其复制到一个新目录,prebuilt/android-arm/其中包含Android.mk与此类似的文件:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := binary_name
LOCAL_MODULE := binary_name
LOCAL_MODULE_CLASS := EXECUTABLES
include $(BUILD_PREBUILT)
Run Code Online (Sandbox Code Playgroud)

因此,如果我运行make system_image binary_name,二进制文件将被复制到/bin/系统映像中.如果我运行模拟器,我可以看到二进制文件/system/bin.权限与其他可执行文件(-rwxr-xr-x)相同,并且根据file这是一个ARM二进制文件(ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped).

但是当我在模拟器上运行它时,它说:

# binary_name
binary_name: not found
Run Code Online (Sandbox Code Playgroud)

我已经把它拉了过来,这就是我能看到的:

# strace binary_name
execve("/system/bin/binary_name", ["binary_name"], [/* 9 vars */]) = -1 ENOENT (No such file or directory)
write(2, "strace: exec", 12strace: exec)            = …
Run Code Online (Sandbox Code Playgroud)

linux android arm emulation libc

7
推荐指数
1
解决办法
9577
查看次数

SQL,PL-SQL和T-SQL有什么区别?

SQL,PL-SQL和T-SQL有什么区别?

任何人都可以解释这三者之间的差异,并提供相关使用的方案吗?

sql t-sql plsql

346
推荐指数
5
解决办法
44万
查看次数

如何通过select显示/隐藏div.(jquery)

我的代码:

<select id="select">
<option id="1" value="thai language">option one</option>
<option id="2" value="eng language">option two</option>
<option id="3" value="other language">option three</option>
</select>

<div id="form1">content here</div>
<div id="form2">content here</div>
<div id="form3">content here</div>
Run Code Online (Sandbox Code Playgroud)

我想要的是在选择选项1时显示div#form1并隐藏form2 + form3,或者选择选项2显示div#form2并隐藏form1 + form2

html jquery select show hide

5
推荐指数
1
解决办法
4万
查看次数

有人能解释从字节数组到十六进制字符串的转换吗?

我最近开始研究MD5哈希(用Java),虽然我找到了帮助我实现这一目标的算法和方法,但我还是想知道它是如何工作的.

首先,我从以下网址找到以下内容:

private static String convertToHex(byte[] data) {
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < data.length; i++) {
        int halfbyte = (data[i] >>> 4) & 0x0F;
        int two_halfs = 0;
        do {
            if ((0 <= halfbyte) && (halfbyte <= 9))
                buf.append((char) ('0' + halfbyte));
            else
                buf.append((char) ('a' + (halfbyte - 10)));
                halfbyte = data[i] & 0x0F;
            } while(two_halfs++ < 1);
        }
    return buf.toString();
}
Run Code Online (Sandbox Code Playgroud)

我没有发现任何需要在Java中使用位移,所以我有点生疏.有人足以说明(简单来说)上述代码究竟是如何进行转换的?">>>"?

我还在StackOverflow上找到了其他解决方案,例如这里这里,它使用了BigInteger:

try {
   String …
Run Code Online (Sandbox Code Playgroud)

java hex md5 bytearray

4
推荐指数
1
解决办法
4332
查看次数

动态语言的真实生活好处?

我正在探索开发新系统(Web应用程序)的几种可能性.

我是一个"老式的"有点人,在自然界中面向对象(多年前从程序转换而来).我玩过Python并学习了一点Ruby,但坦率地说,我被吸引回使用微软的工具(C#,ASP.NET MVC).所有这些运行时类型,基本内容上没有编译器错误等等,只会让我在构建大型复杂应用程序时更加艰难.

我经常听到人们谈论你可以用动态语言做的伟大的事情,但除了狗,猫以及你能用多快的代码编写一个很酷的方式来计算事物的例子,Visual Studio的"工业实力"似乎消除了那些动态语言提供的整洁小东西,特别是现在您有免费的快速版本的VS和完整版本可供初创公司免费使用.

我觉得我在这里遗漏了一些东西,因为大型应用程序确实是用动态语言开发的,那么在查看大型复杂应用程序时,这些语言能让你做些什么呢?什么能让你放弃VS的力量?

language-agnostic dynamic-languages

23
推荐指数
3
解决办法
6033
查看次数

qt qmake -tp vc创建visual studio项目文件

我正在使用QT Creater 1.0.0.和QT 4.5.0 LGPL许可证.

我想在QT中开发一个可以在windows mobile 6.0上运行的应用程序.

我在QT中创建了一个简单的项目,我想创建可视化项目文件,以便我可以使用visual studio在窗口移动设备上编译并使用模拟器进行测试.

我正在使用Visual Studio 2008 TS并安装了Windows Mobile 6 SDK.

但是,我在QT中创建了我的项目,并使用QT命令提示符浏览到项目所在的位置.

我在我的项目的根目录,我键入qmake -tp vc我得到这个输出:

D:\Projects\PDA_Phone\PDA_Phone>qmake -t vc
WARNING: Unable to generate output for: D:/Projects/PDA_Phone/PDA_Phone//Makefile.Debug [TEMPLATE vc]
WARNING: Unable to generate output for: D:/Projects/PDA_Phone/PDA_Phone//Makefile.Release [TEMPLATE vc]
Run Code Online (Sandbox Code Playgroud)

我的目录包含以下文件:

 Directory of D:\Projects\PDA_Phone\PDA_Phone

06/25/2009  05:37 PM    <DIR>          .
06/25/2009  05:37 PM    <DIR>          ..
06/25/2009  05:18 PM    <DIR>          debug
06/25/2009  05:17 PM               187 main.cpp
06/25/2009  05:17 PM               233 mainwindow.cpp
06/25/2009  05:17 PM               325 mainwindow.h
06/25/2009  05:17 PM             1,626 …
Run Code Online (Sandbox Code Playgroud)

qt

14
推荐指数
1
解决办法
3万
查看次数

git子模块:自定义

使用git子模块时,进行自定义的首选方法是什么?我是不是该...

  • fork项目并跟踪fork
  • 尝试覆盖默认行为
  • 在本地进行更改

如果这些都没有意义,那会是什么呢?

git customization dvcs git-submodules

2
推荐指数
1
解决办法
637
查看次数