我正在使用Linux Ubuntu 16.04并使用RazorSQL GUI来访问各种数据库。我正在访问客户端SQL Server(Microsoft 2008 R2)以从查询生成一个表,该查询包含超过5000行并且具有大约5列。其中一列是图像数据类型。每次我运行查询时都会超时并冻结,所以我需要从终端运行xkill才能将其关闭。我需要获取我正在处理的项目的所有结果,所以我不能一次只获取10个。
有没有人对如何防止GUI冻结有任何建议,或者可以建议使用更好的GUI?
以下是查询可能是我的查询引起的吗?
SELECT
a.*
, cast(b.Bytes as varbinary(max)) as Bytes
FROM
(
SELECT DISTINCT
a_inner.Number
, a_inner.Latitude
, a_inner.Longitude
, b_inner.RetiredOn
, b_inner.NonSaleable
, a_inner.Name
, a_inner.Zipcode
, b_inner.Oid
, c_inner.TabId
FROM
"AM-Martin".dbo.CpCore_Site a_inner
INNER JOIN "AM-Martin".dbo.CpSm_Face b_inner on b_inner.SiteId = a_inner.Oid
INNER JOIN "AM-Martin".dbo.EyesOn_Face c_inner on b_inner.Oid = c_inner.Oid
WHERE
b_inner.RetiredOn > GETDATE()
AND a_inner.Number LIKE N'%LA%' OR a_inner.Number LIKE N'%LC%' OR a_inner.Number LIKE N'%BH%'
AND b_inner.Latitude > 0.0
AND b_inner.NonSaleable = 'False'
) AS a
CROSS APPLY(SELECT TOP 1
Bytes
FROM "AM-Martin_bin".dbo.CpCore_Image b
WHERE a.Oid = b.OwnerId) b;
答案 0 :(得分:1)
了解如何做到这一点。 RazorSQL只允许最多324Mb我必须在Sublime Text中实际搜索该数字,我发现包含代码的文件,所以我更改了最大324Mb。该文件是razorsql.sh文件,我更改的代码在这里,我更改的行是在第四行,它表示10000M(10GB):
#!/bin/sh
CWD=$(dirname "$0")
CMD="$CWD/razorsql.jar"
$CWD/jre/bin/java -Xms256M -Xmx10000M -client -jar ${CMD}
RC=$?
if [ ${RC} != 0 ]; then
echo "Error returned code found. Retrying . . ."
$CWD/jre/bin/java -Xms256M -Xmx2048M -client -jar ${CMD}
RC2=$?
if [ ${RC2} != 0 ]; then
echo "Trying local JRE . . ."
java -Xms256M -Xmx2048M -client -jar ${CMD}
fi
fi
他们没有在他们的支持中解释这一点,所以我不得不做一些自己的挖掘。