假设我们有一个Product表,Order表和一个(联结表)ProductOrder.
ProductOrder将具有ProductID和OrderID.
在我们的大多数系统中,这些表还有一个名为ID的自动编号列.
放置主键(以及群集密钥)的最佳做法是什么?
我应该保留ID字段的主键并为外键对(ProductID和OrderID)创建非聚集索引
或者我应该放置外键对的主键(ProductID和OrderID)并在ID列上放置非聚集索引(如果需要的话)
或者......(你们其中一个人的聪明话:))
我试图缩小我的日志文件DBCC SHRINKFILE(db_2.ldf),这是日志文件的名称
它每次都给我错误:
8985,级别16,状态1,行1无法在sys.database_files中找到数据库db的文件'FIelD'.该文件不存在或被删除.
你能否建议我该怎么做才能解决它.
我正在使用以下方法从SQL作业备份数据库.有人能告诉我如何将当前日期添加到输出文件名吗?最好是YYYYMMDD格式.
BACKUP DATABASE [myDB] TO DISK = N'\\myPath\myDB.bak' WITH NOFORMAT, INIT, NAME = N'myDB', SKIP, REWIND, NOUNLOAD, STATS = 10
GO
Run Code Online (Sandbox Code Playgroud)
谢谢!
可能重复:
为什么两个不同的概念都称为"堆"?
我用Google搜索过,但找不到这个问题的答案; 动态内存分配中使用的堆与数据结构之间的连接是什么?内存是否以与堆数据结构类似的方式组织在堆上?如果是这样,这看起来很奇怪,因为获取内存应该是随机访问AFAIK(即O(1)),但是从堆中查找项目不会在恒定时间内完成.
那么,这只是堆的重载意义,可以这么说,还是有某种连接?
我知道这不起作用,以各种形式尝试并且一直都失败了.实现以下结果的最简单方法是什么?
ALTER TABLE XYZ AUTO_INCREMENT = (select max(ID) from ABC);
Run Code Online (Sandbox Code Playgroud)
这非常适合自动化项目.谢谢!
SELECT @max := (max(ID)+1) from ABC; -> This works!
select ID from ABC where ID = (@max-1); -> This works!
ALTER TABLE XYZ AUTO_INCREMENT = (@max+1); -> This fails :( Why?
Run Code Online (Sandbox Code Playgroud) 如果有一段代码从sql数据库获取一些数据
$comms = $row['comments'] ;
if ($comms != "") {
$tooltip = "<b>Notes :</b> $comms </br> ";
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是仅在数据中存在某些内容时显示结果.我使用if语句来确定$ comms中是否有任何数据,但我尝试的所有内容(""""0 false)都返回true.返回时没有什么值(尽管我没有包含所有代码,我向你保证在$ comms中返回了一个值)
任何帮助都会很棒,谢谢
有谁知道答案和/或有关于它的意见?
由于元组通常不会很大,我认为使用结构比使用类更有意义.怎么说你?
我尝试在Hibernate中优化数据库查询,但我找到了一个阻止程序:
<class name="SupportedLanguageVO" table="AR_SUPPORTED_LANG" >
<cache usage="read-only"/>
<id name="Id" type="java.math.BigInteger">
<column name="ID" sql-type="NUMBER(20)" not-null="true"/>
<generator class="assigned"/>
</id>
<property name="OrderSeq" type="java.math.BigInteger">
<column name="ORDER_SEQ" sql-type="NUMBER(20)" not-null="true"/>
</property>
<many-to-one name="Country" class="CountryVO" column="CTRY_CD_ID" cascade="none" >
<many-to-one name="Language" class="LanguageVO" column="LANG_CD" cascade="none" >
</class>
Run Code Online (Sandbox Code Playgroud)
国家的主要关键是CTRY_CD_ID.如果我运行以下标准
Criteria crit = m_Session.createCriteria(SupportedLanguageVO.class);
crit.createCriteria("Country").add(Restrictions.eq("_CountryCode", p_countrycode));
crit.addOrder(Order.asc("OrderSeq"));
Run Code Online (Sandbox Code Playgroud)
我可以看到,hibernate加入了ctry和AR_SUPPORTED_LANG表.为什么?跑步会更好
select * from AR_SUPPORTED_LANG where ctry_cd_id=?
Run Code Online (Sandbox Code Playgroud)
sql而不是
select * from AR_SUPPORTED_LANG inner join ctry .... where ctry_cd_id=?
Run Code Online (Sandbox Code Playgroud)
我可以强制hibernate运行第一个查询吗?
有没有一种简单的方法来检查对象的类型?我需要以下几点:
MyObject^ mo = gcnew MyObject();
Object^ o = mo;
if( o->GetType() == MyObject )
{
// Do somethine with the object
}
else
{
// Try something else
}
Run Code Online (Sandbox Code Playgroud)
目前我正在使用嵌套的try-catch块来寻找System::InvalidCastException那些感觉很丑但有效的s.我打算尝试编写类似上面代码的内容,看看它是否更快/更慢/可读但是无法解决语法甚至尝试.
如果有人想知道,这来自于让一个队列进入一个提供数据工作的线程.有时我想更改设置并通过数据队列传递它们是一种简单的方法.
我正在使用ajax发布一些数据.我想操纵该数据并返回调用jQuery脚本.
这是我的jQuery:
$.ajax({
type: "POST",
url: "somescript.php",
datatype: "html",
data: dataString,
success: function() {
//do something;
}
});
Run Code Online (Sandbox Code Playgroud)
这是我在服务器上的somescript.php:
<?php
//manipulate data
$output = some_function(); //function outputs a comma-separated string
return $output;
?>
Run Code Online (Sandbox Code Playgroud)
我是否在服务器端正确执行此操作,以及在ajax调用完成后如何访问返回字符串?