我在执行任务的两种方式之间挣扎。
我有一套条件,当它们都是真的时候 - 我需要设置" true"在" x"该记录的列属性。
什么是效率更高的&推荐,为什么?
我不能假设" x"有一些默认值。列需要更改,因为查询应该在一段时间内运行,当需要时,在初始值插入到该列之后,并且某些条件可能会从上次运行此查询时更改。
也许还有另外一个想法,更有效的是2以上?
此外,我想了解如何有效地计算查询,类似于编程中高效计算的方式。
答案 0 :(得分:1)
可能最有效的方法是使用case语句,因为你必须每行只评估一次条件,并且还必须只修改每一行,例如
<?php require "scripts/php/database_connect.php"?>
<?php
$query = mysqli_query($con, "SELECT * FROM Announcements") or die("Error in query. Details: ".mysqli_error());
while($row = mysqli_fetch_assoc($query))
{
?>
<table class="announcement_blocks">
<tr>
<td class="img_s" rowspan="3"><?php echo "<img src='/img/announcement_icon/announcement_imp.png" . "' alt='announcement'>";?></td>
<td class="title"><?php echo $row['title']; ?></td>
</tr>
<tr>
<td class="descr"><?php echo $row['description']; ?></td>
</tr>
<?php if($row['link'] != "")
{
?>
<td class="link"><a href="<?php echo $row['link']; ?>"><?php echo $row['link']; ?></a></td>
<?php
}
?>
</table>
<?php
}
?>
案例陈述至少在Oracle和MS-SQL中可用。不了解其他数据库供应商。
答案 1 :(得分:0)
如果数据结构中的所有条件都相似,我认为这不重要。
如果条件具有不同的数据查询结构(例如,&#34;我的密钥不是表B和#34中的外键;&#34;状态=&#39;加利福尼亚&#39;&# 34;),设置为true然后逐个检查它们(作为一系列SQL语句)是更好的,因为你可以先检查简单的那些,而不用担心已经删除了它们的标志的记录的复杂的。