归档数据库结构,增加索引,优化查询

This commit is contained in:
sin365 2025-02-05 11:56:51 +08:00
parent 6326f22234
commit d4ba9c0ccb
2 changed files with 32 additions and 20 deletions

View File

@ -355,7 +355,6 @@ LIMIT ?offset, ?pageSize;";
ALLINONE, ALLINONE,
} }
public bool CheckIsRomStar(int RomId, long uid) public bool CheckIsRomStar(int RomId, long uid)
{ {
bool bhad = false; bool bhad = false;
@ -365,17 +364,11 @@ LIMIT ?offset, ?pageSize;";
string query = $"SELECT count(0) from rom_stars where uid = ?uid and romid = ?romid"; string query = $"SELECT count(0) from rom_stars where uid = ?uid and romid = ?romid";
using (var command = new MySqlCommand(query, conn)) using (var command = new MySqlCommand(query, conn))
{ {
// 设置参数值 // 设置参数值
command.Parameters.AddWithValue("?romid", RomId); command.Parameters.AddWithValue("?romid", RomId);
command.Parameters.AddWithValue("?uid", uid); command.Parameters.AddWithValue("?uid", uid);
// 执行查询并处理结果 // 执行查询并获取结果
using (var reader = command.ExecuteReader()) bhad = (int)command.ExecuteScalar() > 0;
{
while (reader.Read())
{
bhad = reader.GetInt32(0) > 0;
}
}
} }
} }
catch (Exception e) catch (Exception e)

View File

@ -11,7 +11,7 @@
Target Server Version : 100311 Target Server Version : 100311
File Encoding : 65001 File Encoding : 65001
Date: 28/11/2024 19:55:49 Date: 05/02/2025 11:46:40
*/ */
SET NAMES utf8mb4; SET NAMES utf8mb4;
@ -24,18 +24,19 @@ DROP TABLE IF EXISTS `rom_stars`;
CREATE TABLE `rom_stars` ( CREATE TABLE `rom_stars` (
`id` bigint(20) NOT NULL AUTO_INCREMENT, `id` bigint(20) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL, `uid` int(11) NOT NULL,
`platform` int(11) NOT NULL,
`romid` int(11) NOT NULL, `romid` int(11) NOT NULL,
`logdate` datetime NOT NULL DEFAULT current_timestamp(), `logdate` datetime NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE,
) ENGINE = MyISAM AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Fixed; UNIQUE INDEX `uid_romid`(`uid`, `romid`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 25 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Fixed;
-- ---------------------------- -- ----------------------------
-- Table structure for romlist_nes -- Table structure for romlist
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `romlist_nes`; DROP TABLE IF EXISTS `romlist`;
CREATE TABLE `romlist_nes` ( CREATE TABLE `romlist` (
`Id` int(11) NOT NULL AUTO_INCREMENT, `Id` int(11) NOT NULL AUTO_INCREMENT,
`PlatformType` int(11) NOT NULL,
`Name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `Name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`RomUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `RomUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ImgUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `ImgUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
@ -44,8 +45,9 @@ CREATE TABLE `romlist_nes` (
`Hash` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `Hash` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`playcount` int(11) NOT NULL DEFAULT 0, `playcount` int(11) NOT NULL DEFAULT 0,
`stars` int(11) NOT NULL DEFAULT 0, `stars` int(11) NOT NULL DEFAULT 0,
`parentids` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`Id`) USING BTREE PRIMARY KEY (`Id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 2702 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; ) ENGINE = MyISAM AUTO_INCREMENT = 10940 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for room_log -- Table structure for room_log
@ -60,7 +62,7 @@ CREATE TABLE `room_log` (
`state` int(11) NOT NULL, `state` int(11) NOT NULL,
`logdate` datetime NULL DEFAULT current_timestamp(), `logdate` datetime NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Fixed; ) ENGINE = MyISAM AUTO_INCREMENT = 867 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Fixed;
-- ---------------------------- -- ----------------------------
-- Table structure for room_log_state -- Table structure for room_log_state
@ -82,6 +84,23 @@ CREATE TABLE `user_devices` (
`uid` int(11) NOT NULL `uid` int(11) NOT NULL
) ENGINE = MyISAM CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; ) ENGINE = MyISAM CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for user_gamesavedata
-- ----------------------------
DROP TABLE IF EXISTS `user_gamesavedata`;
CREATE TABLE `user_gamesavedata` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`romid` int(11) NOT NULL,
`savidx` int(11) NOT NULL DEFAULT current_timestamp(),
`savName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`savNote` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`savUrl` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`savImgUrl` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`savDate` datetime NOT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for users -- Table structure for users
-- ---------------------------- -- ----------------------------
@ -94,6 +113,6 @@ CREATE TABLE `users` (
`nikename` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `nikename` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`lastlogindate` datetime NULL DEFAULT NULL, `lastlogindate` datetime NULL DEFAULT NULL,
PRIMARY KEY (`uid`) USING BTREE PRIMARY KEY (`uid`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; ) ENGINE = MyISAM AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;