我目前正在学习如何在 PHP mysql 中构建站点。但是,我似乎无法理解COUNT() as count,也不介意做进一步的解释。
我得到了 COUNT, 0 || 的原则 1,以及它如何返回与该查询相关的所有值。但是,不知道 COUNT 作为计数是如何工作的。
无论如何,这就是我正在编写的代码的运行方式 - 所以我们有一个工作示例 - 也是我第一次感到困惑的地方。
SELECT COUNT(`id`) as `count`,
`id`
FROM `user`
WHERE `email`='$email'
AND `password`='".md5$password."'";
Run Code Online (Sandbox Code Playgroud)
如果有人可以解释是一个很大的帮助!
我收到错误ERROR: permission denied for relation users并尝试使用两者更新权限
grant all privileges on all tables in schema ops to my_user
GRANT ALL PRIVILEGES ON TABLE the_table TO my_user
在DBVisualizer中我的资助选项卡可以看到my_user用户拥有的权限DELETE,INSERT,SELECT,TRUNCATE,和UPDATE。 IS_GRANTABLE所有这些都设置为 NO。但是我仍然收到此错误。还剩下什么。
当我第一次运行查询时,执行需要 x 毫秒。当我第二次运行它时,它花费的时间要少得多。我假设这个机制涉及一些缓存,但我需要知道我的查询的真实速度是多少。
顺便说一句,我在 Windows (XAMPP) 中使用 Apache、MySQL 和 PHP。
我刚刚了解到那里有“图形数据库”,它们更适合两个应用程序“搜索引擎”,尤其是“gis”。
为了避免讨论关系数据库是否更适合并明确需要什么样的数据库,这里有一些我想使用它的详细信息:
from_pageid INT, to_pageid INTPRIMARY KEY(from_pageid,to_pageid),INDEX(from_pageid)和INDEX(to_pageid);这将有大约 1'000'000 个条目。当使用图形数据库时,每个节点只有所有“从”和“到”链接,有或没有索引,它们就在那里,而无需查找巨大的索引。好的,现在还有一些专业:
你会向我推荐什么数据库?
我需要帮助为数据库创建架构以保存与 Web 用户的购物车/会话相关的信息。每个会话都有一个会话 ID、一个保持创建时间的时间戳、一个到期时间戳、一个指示购买是否完成的布尔值,然后是一个产品列表,以及它们相关的数量和价格。每个用户将只有一个 ID、原始时间戳、到期时间戳和购买布尔值,但他们可能会引用一种或多种具有不同数量和价格的产品。
我最初的想法是有一个会话表和一个产品表,但我似乎无法摆脱会话 ID 和产品信息在大订单和不同会话中变得多余的想法。简而言之,如果产品表的不同行始终引用重复的产品编号和会话 ID,是否会变得混乱?
我在正确的轨道上吗?或者您能否提出一种我尚未考虑的替代设计模式?
如果您需要更多信息,请告诉我。先感谢您!
我正在尝试使用用户配置文件创建一个简单的注册登录脚本,我创建了一个具有以下结构的表:
+------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(32) | NO | | NULL | |
| password | varchar(32) | NO | | NULL | |
| first_name | varchar(50) | NO | | NULL | |
| last_name | varchar(50) | NO | | NULL | |
| email | varchar(1024) | NO | …Run Code Online (Sandbox Code Playgroud) 我们的数据库有一个 SQL Server 2008R2 企业版来支持前端应用程序。我们以前从未遇到过超时问题。最近,该公司决定将数据库升级到 SQL Server 2014 企业版,其中 2 个节点始终处于群集设置。新服务器比旧服务器具有更好的 CPU、内存。
升级后我做了所有必要的修改,检查数据库一致性,运行 DBCC UPDATEUSAGE,更新统计信息,重建索引,重新编译存储过程等等。数据库切换和迁移一切顺利。但是,我们的用户开始抱怨超时问题。
我一直在查看不同的文章、博客文章并进行了一些修改,例如更改连接字符串和添加 MultiSubnetFailover = 'True',这似乎有很大帮助并最大限度地减少了超时频率,但问题仍然存在。有谁知道是什么导致了这个问题以及如何解决它?我非常感谢您提出的解决此问题的建议和建议。
sql-server-2008 php availability-groups sql-server-2014 timeout
想象一个包含以下列的简单表:
item_id, date
和值:
CREATE TABLE foo (item_id int, date date);
INSERT INTO foo(item_id, date)
VALUES
( 1, '2017-02-10' ),
( 2, '2017-02-10' ),
( 1, '2017-02-11' ),
( 1, '2017-02-12' ),
( 1, '2017-02-13' ),
( 2, '2017-02-13' ),
( 1, '2017-02-14' );
Run Code Online (Sandbox Code Playgroud)
如何选择item_id表中连续7天记录的s?
开始和结束日期未知。它应该从任何开始日期到之后的连续 7 天都可用。
所以这不是一个关于“如何将表从 latin1 转换为 utf8?”的问题。我完全知道这一点并且明白了。我想问的问题是,“如何才能让这种转变在过渡期间尽可能少地痛苦?” 我知道我需要转换每个表上的列,然后在某个时候将 PHP MySQL 连接从 latin1 更改为 UTF8,如果我的数据库是 1 GB,而不是 1 TB,我可以轻松完成所有这些。
使用 MariaDB 10.3,数据库中有大约 600 个表,全部都在 InnoDB 存储引擎下,我想说其中可能有 50 个在 1GB 以上,大约 20 个在 10 或 100 GB 之间。这大约 20 个表的问题在于它们是应用程序本身的核心,而这 20 个表中的 1 个表是发生大量 UTF8 问题的地方(当前为 66GB)。
因此,处理大约 90% 的表基本上不会有停机时间,但最后 10% 的表就很麻烦了。关于我应该采取什么步骤以及按什么顺序有什么建议吗?我一般的想法是这样的......
有人成功尝试过 Percona 的pt-online-schema-change吗?您认为这对这种情况有帮助吗?
我唯一能想到的另一件事是启动并运行一个新的从属数据库,它是主数据库的新副本,在该从属数据库上进行所有 utf8mb4 更改,然后将从属数据库提升到主数据库。我想我也可以事先转换所有的奴隶,只需在我这样做的时候轮流使用或停止使用它们即可。唯一未知的是如果主设备是 latin1,而从设备都是 utf8mb4,会发生什么情况。所有转换后的数据都很好,但我假设新数据可能是 binlog 中的 latin1 并且与字符集无关?
我知道我不应该在每一列上都有索引,但我不知道为什么。费用是多少?
我有一个包含大约 400 个表的系统,其中许多表都有日期时间或外键(实际上可能没有外键规则,因为它们不严格),并且缺乏索引。这可能会导致相对简单的查询(例如:具有时间条件和表主键的 3 个表中的 3 列)需要大量查询时间。
运行相关查询的时间花费了 2 分钟多,但是一旦我添加了时间戳和外键索引,时间就下降到 200 毫秒以下,增加了 6000%。我很想在我有指标的每一列上添加索引,但我知道(从其他人告诉我)过多的索引是不好的。但我在任何地方都找不到原因!
所以我的问题的根本是:什么是“太多”索引,为什么?
php ×10
mysql ×7
graph ×1
linux ×1
mariadb ×1
performance ×1
permissions ×1
postgresql ×1
query ×1
schema ×1
spatial ×1
testing ×1
timeout ×1
windows ×1