AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-6980

hexparrot's questions

Martin Hope
hexparrot
Asked: 2012-11-02 14:27:16 +0800 CST

获取“将 nvarchar 值转换为数据类型 int 时转换失败。”

  • 3

我有一个 SQL Server 表配对邮政编码和纬度/经度几何,如下所示

ID  ZIP5    geom
1   356HH   0xE610000001044E00....FFFFFFFF0000000003ID
2   35677   0xE6100000010404000000068....000003

我遇到的问题是,由于 ZIP5 字段包含字符,我似乎无法从一种类型转换为另一种类型。

我尝试过的是一种方法,其中我只提取完全整数友好的记录:

SELECT
    zip,
    coordinates
FROM (
    SELECT
        CONVERT(int, [ZIP5]) AS zip,
        CONVERT(varchar(max), geom) AS coordinates
    FROM 
        [SpatialData].[dbo].[zip5]
    WHERE
        ISNUMERIC([ZIP5]) = 1
) AS t1
WHERE
    zip >= 85000 AND
    zip < 86000

我假设由于子查询返回了一个INT类型,所以在外部执行普通比较运算符绝对没有问题WHERE。执行此查询时出现以下错误:

消息 245,级别 16,状态 1,行 1
将 nvarchar 值“356HH”转换为数据类型 int 时转换失败。

省略WHEREexternal ,我在 ZIP5 列中得到一个包含 100% 整数的完整结果集。使用 external WHERE,它似乎超越了前一个CONVERT并且转换失败。

作为一些额外的说明:

  1. 这个查询的性质是好的,没有得到有字母的行。
  2. 将 HH(或任何其他双字符对)替换为数字零也是完全可以的(但是尝试过REPLACE但STUFF无济于事)
  3. 我已经尝试过 TRY/CATCH,但它在语句中似乎不起作用WHERE——当更广泛地捕获整个查询时,try/catch 最终将返回一个空集。

如果不制作临时表 - 表变量,哪种方法是最好的解决方法?

sql-server cast
  • 2 个回答
  • 30443 Views
Martin Hope
hexparrot
Asked: 2012-04-05 09:23:17 +0800 CST

索引基于网格的数据的最有效(或有意义)方式

  • 4

我有一个 MySQL 表,我希望它有几百万行和 99% 的选择语句。我遇到的问题是想出一种有意义的方法来确定主键。(我在底部提供了一个表格转储以供参考)

对于某些背景,我正在使用二维网格,其范围在每个方向上从大约 -800000 到 +800000 不等。每行由其 X/Z 坐标标识,每个坐标可能有 1-30 个关联的位串(类型)。

我的担忧是:

1)我缺少一个有意义的方法来主键这个表。虽然我知道我可以使用 auto_increment 创建一个id字段,但我知道在实践中永远不会使用这个键,因为100%的 SELECTS 将采用以下形式:

SELECT `type`, `offset`, `bitstring` WHERE `x` = 0 AND `z` = 0;

2) 我打算通过以下方式在多列(逻辑 x/z)上建立索引:

CREATE INDEX coordinate ON bitstrings(x, z)

虽然我觉得这恰当地解决了我在现实世界中的选择,但我一直担心它的索引不足,因为有许多帖子说“是的,你需要一个 PK”。这是可以忽略 PK 的情况,还是任意性id最终仍会提供一些非常值得额外的表大小和列的幕后优化?

作为旁注,如果有任何更实用、经过验证的方法来存储此类数据,我绝对不会限制完全重构此表。

CREATE TABLE `bitstrings` (
  `x` int(11) NOT NULL COMMENT 'roughly +/- 10^6 range',
  `z` int(11) NOT NULL COMMENT 'roughly +/- 10^6 range',
  `type` smallint(6) NOT NULL COMMENT 'range: 1-4096',
  `offset` smallint(6) NOT NULL COMMENT 'range: 1-65535',
  `bitstring` blob NOT NULL COMMENT 'binary data len: 1-8192'
) ENGINE=MyISAM DEFAULT CHARSET=utf-8;

--
-- Dumping data for table `bitstrings`
--

INSERT INTO `bitstrings` (`x`, `z`, `type`, `offset`, `bitstring`) VALUES
(0, 0, 1, 0, 0x52),
(0, 0, 2, 1878, 0x52);
mysql primary-key
  • 3 个回答
  • 280 Views
Martin Hope
hexparrot
Asked: 2012-02-25 15:30:56 +0800 CST

MySQL 是否有最大数据库或表数?

  • 5

我正在创建存储在 MySQL 中的大量位板存档。在我的模式中,有四组链接的位板——为了查询——在四个不同的表中表示。四组中的每一组将有大约 100k 行,我预计这些组中大约有 35k。

我的问题是关于 SQL 服务器本身的性能影响和限制。我考虑了以下模型:

  1. 35k 个数据库,每个有四个表,每个表 100k 行
  2. 1 个数据库,每组四个命名表,例如 db948-a、db948-b、db948-c、db948-d

附加信息:

  1. 这些表之间没有任何联系;他们不需要在任何时候加入。
  2. 它们不需要在任何时候更新(对四个表中的每一个都进行一次 INSERT),从那时起只需要 SELECT。
  3. 这将存储在 ReiserFS(或没有文件计数问题的类似 FS)上
  4. 我希望使用 MyISAM(不需要事务支持)

所以我主要关心的是 MySQL 对表和数据库计数的限制——鉴于上述信息,我是否会超过任何限制,从而取消其中一种模式的资格?

此外,35k 个不同的数据库或一个数据库中的 140k 个表是否会引起任何明显的性能问题?

谢谢!

mysql performance
  • 2 个回答
  • 3908 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve