Remove FOREIGN KEYS on Events table for performance/reliability
parent
a0b23388b8
commit
d9862bb18e
|
@ -331,7 +331,7 @@ DROP TABLE IF EXISTS `Frames`;
|
|||
CREATE TABLE `Frames` (
|
||||
`Id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`EventId` BIGINT UNSIGNED NOT NULL default '0',
|
||||
FOREIGN KEY (`EventId`) REFERENCES `Events` (`Id`) ON DELETE CASCADE,
|
||||
/* FOREIGN KEY (`EventId`) REFERENCES `Events` (`Id`) ON DELETE CASCADE,*/
|
||||
`FrameId` int(10) unsigned NOT NULL default '0',
|
||||
`Type` enum('Normal','Bulk','Alarm') NOT NULL default 'Normal',
|
||||
`TimeStamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
||||
|
@ -696,11 +696,11 @@ DROP TABLE IF EXISTS `Stats`;
|
|||
CREATE TABLE `Stats` (
|
||||
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`MonitorId` int(10) unsigned NOT NULL default '0',
|
||||
FOREIGN KEY (`MonitorId`) REFERENCES `Monitors` (`Id`) ON DELETE CASCADE,
|
||||
/* FOREIGN KEY (`MonitorId`) REFERENCES `Monitors` (`Id`) ON DELETE CASCADE, */
|
||||
`ZoneId` int(10) unsigned NOT NULL default '0',
|
||||
FOREIGN KEY (`ZoneId`) REFERENCES `Zones` (`Id`) ON DELETE CASCADE,
|
||||
/* FOREIGN KEY (`ZoneId`) REFERENCES `Zones` (`Id`) ON DELETE CASCADE, */
|
||||
`EventId` BIGINT UNSIGNED NOT NULL,
|
||||
FOREIGN KEY (`EventId`) REFERENCES `Events` (`Id`) ON DELETE CASCADE,
|
||||
/* FOREIGN KEY (`EventId`) REFERENCES `Events` (`Id`) ON DELETE CASCADE, */
|
||||
`FrameId` int(10) unsigned NOT NULL default '0',
|
||||
`PixelDiff` tinyint(3) unsigned NOT NULL default '0',
|
||||
`AlarmPixels` int(10) unsigned NOT NULL default '0',
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
--
|
||||
-- Drop Foreign Keys on Events table.
|
||||
--
|
||||
|
||||
SELECT 'Checking for FOREIGN KEYS on Events Table';
|
||||
SET @s = (SELECT IF(
|
||||
(SELECT COUNT(*)
|
||||
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
||||
WHERE TABLE_NAME = 'Frames'
|
||||
AND REFERENCED_TABLE_SCHEMA = DATABASE()
|
||||
AND REFERENCED_TABLE_NAME = 'Events'
|
||||
AND CONSTRAINT_NAME = 'Frames_ibfk_1'
|
||||
) > 0,
|
||||
"ALTER TABLE Frames DROP FOREIGN KEY Frames_ibfk_1",
|
||||
"SELECT 'FOREIGN KEY In Frames table already removed or has a different name.'"
|
||||
));
|
||||
|
||||
PREPARE stmt FROM @s;
|
||||
EXECUTE stmt;
|
||||
|
||||
SET @s = (SELECT IF(
|
||||
(SELECT COUNT(*)
|
||||
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
||||
WHERE TABLE_NAME = 'Stats'
|
||||
AND REFERENCED_tABLE_SCHEMA = DATABASE()
|
||||
AND REFERENCED_TABLE_NAME = 'Events'
|
||||
AND CONSTRAINT_NAME = 'Stats_ibfk_1'
|
||||
) > 0,
|
||||
"ALTER TABLE Stats DROP FOREIGN KEY Stats_ibfk_1",
|
||||
"SELECT 'FOREIGN KEY In Stats table already removed or has a different name.'"
|
||||
));
|
||||
|
||||
PREPARE stmt FROM @s;
|
||||
EXECUTE stmt;
|
||||
|
||||
SET @s = (SELECT IF(
|
||||
(SELECT COUNT(*)
|
||||
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
||||
WHERE TABLE_NAME = 'Stats'
|
||||
AND REFERENCED_tABLE_SCHEMA = DATABASE()
|
||||
AND REFERENCED_TABLE_NAME = 'Events'
|
||||
AND CONSTRAINT_NAME = 'Stats_ibfk_2'
|
||||
) > 0,
|
||||
"ALTER TABLE Stats DROP FOREIGN KEY Stats_ibfk_2",
|
||||
"SELECT 'FOREIGN KEY In Stats table already removed or has a different name.'"
|
||||
));
|
||||
|
||||
PREPARE stmt FROM @s;
|
||||
EXECUTE stmt;
|
||||
|
||||
SET @s = (SELECT IF(
|
||||
(SELECT COUNT(*)
|
||||
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
||||
WHERE TABLE_NAME = 'Stats'
|
||||
AND REFERENCED_tABLE_SCHEMA = DATABASE()
|
||||
AND REFERENCED_TABLE_NAME = 'Events'
|
||||
AND CONSTRAINT_NAME = 'Stats_ibfk_3'
|
||||
) > 0,
|
||||
"ALTER TABLE Stats DROP FOREIGN KEY Stats_ibfk_3",
|
||||
"SELECT 'FOREIGN KEY In Stats table already removed or has a different name.'"
|
||||
));
|
||||
|
||||
PREPARE stmt FROM @s;
|
||||
EXECUTE stmt;
|
||||
|
||||
SET @s = (SELECT IF(
|
||||
(SELECT COUNT(*)
|
||||
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
||||
WHERE TABLE_NAME = 'Stats'
|
||||
AND REFERENCED_tABLE_SCHEMA = DATABASE()
|
||||
AND REFERENCED_TABLE_NAME = 'Events'
|
||||
AND CONSTRAINT_NAME = 'Stats_ibfk_4'
|
||||
) > 0,
|
||||
"ALTER TABLE Stats DROP FOREIGN KEY Stats_ibfk_4",
|
||||
"SELECT 'FOREIGN KEY In Stats table already removed or has a different name.'"
|
||||
));
|
|
@ -24,7 +24,7 @@
|
|||
%endif
|
||||
|
||||
Name: zoneminder
|
||||
Version: 1.37.30
|
||||
Version: 1.37.31
|
||||
Release: 1%{?dist}
|
||||
Summary: A camera monitoring and analysis tool
|
||||
Group: System Environment/Daemons
|
||||
|
|
Loading…
Reference in New Issue