Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas
Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas

viernes, 22 de abril de 2016

Optimizando MySQL


Les comparto esta presentación que explica claramente los problemas y soluciones




http://www.slideshare.net/myxplain/advanced-my-sqlqueryandschematuning



miércoles, 8 de abril de 2015

MySQL campo UNIXTIME a DATE

Para representar campos con fechas almacenadas como unixtime en formato de fecha normal es:


SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d');

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d');

o

SELECT FROM_UNIXTIME(MI_CAMPO, '%Y-%m-%d')  FROM MI_TABLA;

espero les sirva.




jueves, 15 de enero de 2015

jquery generador de consultas SQL dinamico

Les comparto estas dos paginas que cuentan con un generador de consultas SQL dinámico, ideal para implementar en proyectos donde se requiera un reporteador

  • http://www.ksistem.com/jquery/sqlbuilderdemo.htm
  • http://redquerybuilder.appspot.com/
  • http://mistic100.github.io/jQuery-QueryBuilder/


miércoles, 24 de septiembre de 2014

Respaldar Mysql en linea de comandos en .GZ


Respaldar y Comprimir MySQL

El resultado es respaldar una base de datos en formato GZip (GZ)

Solo ejecuta el siguiente comando y remplaza lo que esta en rojo

mysqldump -v -uMIUSUARIO -pMICONTRASEÑA BASEDEDATOS | gzip >  /carpeta/respaldo/mirespaldo.sql.gz

Espero les sirva


lunes, 26 de mayo de 2014

MySQL query lista de paises con codigo de pais y de area

Les comparto este query el cual ya incluye:
  • Código de Pais ISO 3166 (2 caracteres)
  • Código de Pais ISO 3 caracteres
  • Nombre Corto de país
  • Nombre Largo de país
  • Código numérico de país
  • Código de marcación telefónica
  • Extensión de dominio





--
-- Table structure for table `country_t`
--

CREATE TABLE IF NOT EXISTS `country_t` (
  `country_id` int(5) NOT NULL AUTO_INCREMENT,
  `iso2` char(2) DEFAULT NULL,
  `short_name` varchar(80) NOT NULL DEFAULT '',
  `long_name` varchar(80) NOT NULL DEFAULT '',
  `iso3` char(3) DEFAULT NULL,
  `numcode` varchar(6) DEFAULT NULL,
  `un_member` varchar(12) DEFAULT NULL,
  `calling_code` varchar(8) DEFAULT NULL,
  `cctld` varchar(5) DEFAULT NULL,
  PRIMARY KEY (`country_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=251 ;

--
-- Dumping data for table `country_t`
--

INSERT INTO `country_t` (`country_id`, `iso2`, `short_name`, `long_name`, `iso3`, `numcode`, `un_member`, `calling_code`, `cctld`) VALUES
(1, 'AF', 'Afghanistan', 'Islamic Republic of Afghanistan', 'AFG', '004', 'yes', '93', '.af'),
(2, 'AX', 'Aland Islands', 'Åland Islands', 'ALA', '248', 'no', '358', '.ax'),
(3, 'AL', 'Albania', 'Republic of Albania', 'ALB', '008', 'yes', '355', '.al'),
(4, 'DZ', 'Algeria', 'People''s Democratic Republic of Algeria', 'DZA', '012', 'yes', '213', '.dz'),
(5, 'AS', 'American Samoa', 'American Samoa', 'ASM', '016', 'no', '1+684', '.as'),
(6, 'AD', 'Andorra', 'Principality of Andorra', 'AND', '020', 'yes', '376', '.ad'),
(7, 'AO', 'Angola', 'Republic of Angola', 'AGO', '024', 'yes', '244', '.ao'),
(8, 'AI', 'Anguilla', 'Anguilla', 'AIA', '660', 'no', '1+264', '.ai'),
(9, 'AQ', 'Antarctica', 'Antarctica', 'ATA', '010', 'no', '672', '.aq'),
(10, 'AG', 'Antigua and Barbuda', 'Antigua and Barbuda', 'ATG', '028', 'yes', '1+268', '.ag'),
(11, 'AR', 'Argentina', 'Argentine Republic', 'ARG', '032', 'yes', '54', '.ar'),
(12, 'AM', 'Armenia', 'Republic of Armenia', 'ARM', '051', 'yes', '374', '.am'),
(13, 'AW', 'Aruba', 'Aruba', 'ABW', '533', 'no', '297', '.aw'),
(14, 'AU', 'Australia', 'Commonwealth of Australia', 'AUS', '036', 'yes', '61', '.au'),
(15, 'AT', 'Austria', 'Republic of Austria', 'AUT', '040', 'yes', '43', '.at'),
(16, 'AZ', 'Azerbaijan', 'Republic of Azerbaijan', 'AZE', '031', 'yes', '994', '.az'),
(17, 'BS', 'Bahamas', 'Commonwealth of The Bahamas', 'BHS', '044', 'yes', '1+242', '.bs'),
(18, 'BH', 'Bahrain', 'Kingdom of Bahrain', 'BHR', '048', 'yes', '973', '.bh'),
(19, 'BD', 'Bangladesh', 'People''s Republic of Bangladesh', 'BGD', '050', 'yes', '880', '.bd'),
(20, 'BB', 'Barbados', 'Barbados', 'BRB', '052', 'yes', '1+246', '.bb'),
(21, 'BY', 'Belarus', 'Republic of Belarus', 'BLR', '112', 'yes', '375', '.by'),
(22, 'BE', 'Belgium', 'Kingdom of Belgium', 'BEL', '056', 'yes', '32', '.be'),
(23, 'BZ', 'Belize', 'Belize', 'BLZ', '084', 'yes', '501', '.bz'),
(24, 'BJ', 'Benin', 'Republic of Benin', 'BEN', '204', 'yes', '229', '.bj'),
(25, 'BM', 'Bermuda', 'Bermuda Islands', 'BMU', '060', 'no', '1+441', '.bm'),
(26, 'BT', 'Bhutan', 'Kingdom of Bhutan', 'BTN', '064', 'yes', '975', '.bt'),
(27, 'BO', 'Bolivia', 'Plurinational State of Bolivia', 'BOL', '068', 'yes', '591', '.bo'),
(28, 'BQ', 'Bonaire, Sint Eustatius and Saba', 'Bonaire, Sint Eustatius and Saba', 'BES', '535', 'no', '599', '.bq'),
(29, 'BA', 'Bosnia and Herzegovina', 'Bosnia and Herzegovina', 'BIH', '070', 'yes', '387', '.ba'),
(30, 'BW', 'Botswana', 'Republic of Botswana', 'BWA', '072', 'yes', '267', '.bw'),
(31, 'BV', 'Bouvet Island', 'Bouvet Island', 'BVT', '074', 'no', 'NONE', '.bv'),
(32, 'BR', 'Brazil', 'Federative Republic of Brazil', 'BRA', '076', 'yes', '55', '.br'),
(33, 'IO', 'British Indian Ocean Territory', 'British Indian Ocean Territory', 'IOT', '086', 'no', '246', '.io'),
(34, 'BN', 'Brunei', 'Brunei Darussalam', 'BRN', '096', 'yes', '673', '.bn'),
(35, 'BG', 'Bulgaria', 'Republic of Bulgaria', 'BGR', '100', 'yes', '359', '.bg'),
(36, 'BF', 'Burkina Faso', 'Burkina Faso', 'BFA', '854', 'yes', '226', '.bf'),
(37, 'BI', 'Burundi', 'Republic of Burundi', 'BDI', '108', 'yes', '257', '.bi'),
(38, 'KH', 'Cambodia', 'Kingdom of Cambodia', 'KHM', '116', 'yes', '855', '.kh'),
(39, 'CM', 'Cameroon', 'Republic of Cameroon', 'CMR', '120', 'yes', '237', '.cm'),
(40, 'CA', 'Canada', 'Canada', 'CAN', '124', 'yes', '1', '.ca'),
(41, 'CV', 'Cape Verde', 'Republic of Cape Verde', 'CPV', '132', 'yes', '238', '.cv'),
(42, 'KY', 'Cayman Islands', 'The Cayman Islands', 'CYM', '136', 'no', '1+345', '.ky'),
(43, 'CF', 'Central African Republic', 'Central African Republic', 'CAF', '140', 'yes', '236', '.cf'),
(44, 'TD', 'Chad', 'Republic of Chad', 'TCD', '148', 'yes', '235', '.td'),
(45, 'CL', 'Chile', 'Republic of Chile', 'CHL', '152', 'yes', '56', '.cl'),
(46, 'CN', 'China', 'People''s Republic of China', 'CHN', '156', 'yes', '86', '.cn'),
(47, 'CX', 'Christmas Island', 'Christmas Island', 'CXR', '162', 'no', '61', '.cx'),
(48, 'CC', 'Cocos (Keeling) Islands', 'Cocos (Keeling) Islands', 'CCK', '166', 'no', '61', '.cc'),
(49, 'CO', 'Colombia', 'Republic of Colombia', 'COL', '170', 'yes', '57', '.co'),
(50, 'KM', 'Comoros', 'Union of the Comoros', 'COM', '174', 'yes', '269', '.km'),
(51, 'CG', 'Congo', 'Republic of the Congo', 'COG', '178', 'yes', '242', '.cg'),
(52, 'CK', 'Cook Islands', 'Cook Islands', 'COK', '184', 'some', '682', '.ck'),
(53, 'CR', 'Costa Rica', 'Republic of Costa Rica', 'CRI', '188', 'yes', '506', '.cr'),
(54, 'CI', 'Cote d''ivoire (Ivory Coast)', 'Republic of Côte D''Ivoire (Ivory Coast)', 'CIV', '384', 'yes', '225', '.ci'),
(55, 'HR', 'Croatia', 'Republic of Croatia', 'HRV', '191', 'yes', '385', '.hr'),
(56, 'CU', 'Cuba', 'Republic of Cuba', 'CUB', '192', 'yes', '53', '.cu'),
(57, 'CW', 'Curacao', 'Curaçao', 'CUW', '531', 'no', '599', '.cw'),
(58, 'CY', 'Cyprus', 'Republic of Cyprus', 'CYP', '196', 'yes', '357', '.cy'),
(59, 'CZ', 'Czech Republic', 'Czech Republic', 'CZE', '203', 'yes', '420', '.cz'),
(60, 'CD', 'Democratic Republic of the Congo', 'Democratic Republic of the Congo', 'COD', '180', 'yes', '243', '.cd'),
(61, 'DK', 'Denmark', 'Kingdom of Denmark', 'DNK', '208', 'yes', '45', '.dk'),
(62, 'DJ', 'Djibouti', 'Republic of Djibouti', 'DJI', '262', 'yes', '253', '.dj'),
(63, 'DM', 'Dominica', 'Commonwealth of Dominica', 'DMA', '212', 'yes', '1+767', '.dm'),
(64, 'DO', 'Dominican Republic', 'Dominican Republic', 'DOM', '214', 'yes', '1+809, 8', '.do'),
(65, 'EC', 'Ecuador', 'Republic of Ecuador', 'ECU', '218', 'yes', '593', '.ec'),
(66, 'EG', 'Egypt', 'Arab Republic of Egypt', 'EGY', '818', 'yes', '20', '.eg'),
(67, 'SV', 'El Salvador', 'Republic of El Salvador', 'SLV', '222', 'yes', '503', '.sv'),
(68, 'GQ', 'Equatorial Guinea', 'Republic of Equatorial Guinea', 'GNQ', '226', 'yes', '240', '.gq'),
(69, 'ER', 'Eritrea', 'State of Eritrea', 'ERI', '232', 'yes', '291', '.er'),
(70, 'EE', 'Estonia', 'Republic of Estonia', 'EST', '233', 'yes', '372', '.ee'),
(71, 'ET', 'Ethiopia', 'Federal Democratic Republic of Ethiopia', 'ETH', '231', 'yes', '251', '.et'),
(72, 'FK', 'Falkland Islands (Malvinas)', 'The Falkland Islands (Malvinas)', 'FLK', '238', 'no', '500', '.fk'),
(73, 'FO', 'Faroe Islands', 'The Faroe Islands', 'FRO', '234', 'no', '298', '.fo'),
(74, 'FJ', 'Fiji', 'Republic of Fiji', 'FJI', '242', 'yes', '679', '.fj'),
(75, 'FI', 'Finland', 'Republic of Finland', 'FIN', '246', 'yes', '358', '.fi'),
(76, 'FR', 'France', 'French Republic', 'FRA', '250', 'yes', '33', '.fr'),
(77, 'GF', 'French Guiana', 'French Guiana', 'GUF', '254', 'no', '594', '.gf'),
(78, 'PF', 'French Polynesia', 'French Polynesia', 'PYF', '258', 'no', '689', '.pf'),
(79, 'TF', 'French Southern Territories', 'French Southern Territories', 'ATF', '260', 'no', NULL, '.tf'),
(80, 'GA', 'Gabon', 'Gabonese Republic', 'GAB', '266', 'yes', '241', '.ga'),
(81, 'GM', 'Gambia', 'Republic of The Gambia', 'GMB', '270', 'yes', '220', '.gm'),
(82, 'GE', 'Georgia', 'Georgia', 'GEO', '268', 'yes', '995', '.ge'),
(83, 'DE', 'Germany', 'Federal Republic of Germany', 'DEU', '276', 'yes', '49', '.de'),
(84, 'GH', 'Ghana', 'Republic of Ghana', 'GHA', '288', 'yes', '233', '.gh'),
(85, 'GI', 'Gibraltar', 'Gibraltar', 'GIB', '292', 'no', '350', '.gi'),
(86, 'GR', 'Greece', 'Hellenic Republic', 'GRC', '300', 'yes', '30', '.gr'),
(87, 'GL', 'Greenland', 'Greenland', 'GRL', '304', 'no', '299', '.gl'),
(88, 'GD', 'Grenada', 'Grenada', 'GRD', '308', 'yes', '1+473', '.gd'),
(89, 'GP', 'Guadaloupe', 'Guadeloupe', 'GLP', '312', 'no', '590', '.gp'),
(90, 'GU', 'Guam', 'Guam', 'GUM', '316', 'no', '1+671', '.gu'),
(91, 'GT', 'Guatemala', 'Republic of Guatemala', 'GTM', '320', 'yes', '502', '.gt'),
(92, 'GG', 'Guernsey', 'Guernsey', 'GGY', '831', 'no', '44', '.gg'),
(93, 'GN', 'Guinea', 'Republic of Guinea', 'GIN', '324', 'yes', '224', '.gn'),
(94, 'GW', 'Guinea-Bissau', 'Republic of Guinea-Bissau', 'GNB', '624', 'yes', '245', '.gw'),
(95, 'GY', 'Guyana', 'Co-operative Republic of Guyana', 'GUY', '328', 'yes', '592', '.gy'),
(96, 'HT', 'Haiti', 'Republic of Haiti', 'HTI', '332', 'yes', '509', '.ht'),
(97, 'HM', 'Heard Island and McDonald Islands', 'Heard Island and McDonald Islands', 'HMD', '334', 'no', 'NONE', '.hm'),
(98, 'HN', 'Honduras', 'Republic of Honduras', 'HND', '340', 'yes', '504', '.hn'),
(99, 'HK', 'Hong Kong', 'Hong Kong', 'HKG', '344', 'no', '852', '.hk'),
(100, 'HU', 'Hungary', 'Hungary', 'HUN', '348', 'yes', '36', '.hu'),
(101, 'IS', 'Iceland', 'Republic of Iceland', 'ISL', '352', 'yes', '354', '.is'),
(102, 'IN', 'India', 'Republic of India', 'IND', '356', 'yes', '91', '.in'),
(103, 'ID', 'Indonesia', 'Republic of Indonesia', 'IDN', '360', 'yes', '62', '.id'),
(104, 'IR', 'Iran', 'Islamic Republic of Iran', 'IRN', '364', 'yes', '98', '.ir'),
(105, 'IQ', 'Iraq', 'Republic of Iraq', 'IRQ', '368', 'yes', '964', '.iq'),
(106, 'IE', 'Ireland', 'Ireland', 'IRL', '372', 'yes', '353', '.ie'),
(107, 'IM', 'Isle of Man', 'Isle of Man', 'IMN', '833', 'no', '44', '.im'),
(108, 'IL', 'Israel', 'State of Israel', 'ISR', '376', 'yes', '972', '.il'),
(109, 'IT', 'Italy', 'Italian Republic', 'ITA', '380', 'yes', '39', '.jm'),
(110, 'JM', 'Jamaica', 'Jamaica', 'JAM', '388', 'yes', '1+876', '.jm'),
(111, 'JP', 'Japan', 'Japan', 'JPN', '392', 'yes', '81', '.jp'),
(112, 'JE', 'Jersey', 'The Bailiwick of Jersey', 'JEY', '832', 'no', '44', '.je'),
(113, 'JO', 'Jordan', 'Hashemite Kingdom of Jordan', 'JOR', '400', 'yes', '962', '.jo'),
(114, 'KZ', 'Kazakhstan', 'Republic of Kazakhstan', 'KAZ', '398', 'yes', '7', '.kz'),
(115, 'KE', 'Kenya', 'Republic of Kenya', 'KEN', '404', 'yes', '254', '.ke'),
(116, 'KI', 'Kiribati', 'Republic of Kiribati', 'KIR', '296', 'yes', '686', '.ki'),
(117, 'XK', 'Kosovo', 'Republic of Kosovo', '---', '---', 'some', '381', ''),
(118, 'KW', 'Kuwait', 'State of Kuwait', 'KWT', '414', 'yes', '965', '.kw'),
(119, 'KG', 'Kyrgyzstan', 'Kyrgyz Republic', 'KGZ', '417', 'yes', '996', '.kg'),
(120, 'LA', 'Laos', 'Lao People''s Democratic Republic', 'LAO', '418', 'yes', '856', '.la'),
(121, 'LV', 'Latvia', 'Republic of Latvia', 'LVA', '428', 'yes', '371', '.lv'),
(122, 'LB', 'Lebanon', 'Republic of Lebanon', 'LBN', '422', 'yes', '961', '.lb'),
(123, 'LS', 'Lesotho', 'Kingdom of Lesotho', 'LSO', '426', 'yes', '266', '.ls'),
(124, 'LR', 'Liberia', 'Republic of Liberia', 'LBR', '430', 'yes', '231', '.lr'),
(125, 'LY', 'Libya', 'Libya', 'LBY', '434', 'yes', '218', '.ly'),
(126, 'LI', 'Liechtenstein', 'Principality of Liechtenstein', 'LIE', '438', 'yes', '423', '.li'),
(127, 'LT', 'Lithuania', 'Republic of Lithuania', 'LTU', '440', 'yes', '370', '.lt'),
(128, 'LU', 'Luxembourg', 'Grand Duchy of Luxembourg', 'LUX', '442', 'yes', '352', '.lu'),
(129, 'MO', 'Macao', 'The Macao Special Administrative Region', 'MAC', '446', 'no', '853', '.mo'),
(130, 'MK', 'Macedonia', 'The Former Yugoslav Republic of Macedonia', 'MKD', '807', 'yes', '389', '.mk'),
(131, 'MG', 'Madagascar', 'Republic of Madagascar', 'MDG', '450', 'yes', '261', '.mg'),
(132, 'MW', 'Malawi', 'Republic of Malawi', 'MWI', '454', 'yes', '265', '.mw'),
(133, 'MY', 'Malaysia', 'Malaysia', 'MYS', '458', 'yes', '60', '.my'),
(134, 'MV', 'Maldives', 'Republic of Maldives', 'MDV', '462', 'yes', '960', '.mv'),
(135, 'ML', 'Mali', 'Republic of Mali', 'MLI', '466', 'yes', '223', '.ml'),
(136, 'MT', 'Malta', 'Republic of Malta', 'MLT', '470', 'yes', '356', '.mt'),
(137, 'MH', 'Marshall Islands', 'Republic of the Marshall Islands', 'MHL', '584', 'yes', '692', '.mh'),
(138, 'MQ', 'Martinique', 'Martinique', 'MTQ', '474', 'no', '596', '.mq'),
(139, 'MR', 'Mauritania', 'Islamic Republic of Mauritania', 'MRT', '478', 'yes', '222', '.mr'),
(140, 'MU', 'Mauritius', 'Republic of Mauritius', 'MUS', '480', 'yes', '230', '.mu'),
(141, 'YT', 'Mayotte', 'Mayotte', 'MYT', '175', 'no', '262', '.yt'),
(142, 'MX', 'Mexico', 'United Mexican States', 'MEX', '484', 'yes', '52', '.mx'),
(143, 'FM', 'Micronesia', 'Federated States of Micronesia', 'FSM', '583', 'yes', '691', '.fm'),
(144, 'MD', 'Moldava', 'Republic of Moldova', 'MDA', '498', 'yes', '373', '.md'),
(145, 'MC', 'Monaco', 'Principality of Monaco', 'MCO', '492', 'yes', '377', '.mc'),
(146, 'MN', 'Mongolia', 'Mongolia', 'MNG', '496', 'yes', '976', '.mn'),
(147, 'ME', 'Montenegro', 'Montenegro', 'MNE', '499', 'yes', '382', '.me'),
(148, 'MS', 'Montserrat', 'Montserrat', 'MSR', '500', 'no', '1+664', '.ms'),
(149, 'MA', 'Morocco', 'Kingdom of Morocco', 'MAR', '504', 'yes', '212', '.ma'),
(150, 'MZ', 'Mozambique', 'Republic of Mozambique', 'MOZ', '508', 'yes', '258', '.mz'),
(151, 'MM', 'Myanmar (Burma)', 'Republic of the Union of Myanmar', 'MMR', '104', 'yes', '95', '.mm'),
(152, 'NA', 'Namibia', 'Republic of Namibia', 'NAM', '516', 'yes', '264', '.na'),
(153, 'NR', 'Nauru', 'Republic of Nauru', 'NRU', '520', 'yes', '674', '.nr'),
(154, 'NP', 'Nepal', 'Federal Democratic Republic of Nepal', 'NPL', '524', 'yes', '977', '.np'),
(155, 'NL', 'Netherlands', 'Kingdom of the Netherlands', 'NLD', '528', 'yes', '31', '.nl'),
(156, 'NC', 'New Caledonia', 'New Caledonia', 'NCL', '540', 'no', '687', '.nc'),
(157, 'NZ', 'New Zealand', 'New Zealand', 'NZL', '554', 'yes', '64', '.nz'),
(158, 'NI', 'Nicaragua', 'Republic of Nicaragua', 'NIC', '558', 'yes', '505', '.ni'),
(159, 'NE', 'Niger', 'Republic of Niger', 'NER', '562', 'yes', '227', '.ne'),
(160, 'NG', 'Nigeria', 'Federal Republic of Nigeria', 'NGA', '566', 'yes', '234', '.ng'),
(161, 'NU', 'Niue', 'Niue', 'NIU', '570', 'some', '683', '.nu'),
(162, 'NF', 'Norfolk Island', 'Norfolk Island', 'NFK', '574', 'no', '672', '.nf'),
(163, 'KP', 'North Korea', 'Democratic People''s Republic of Korea', 'PRK', '408', 'yes', '850', '.kp'),
(164, 'MP', 'Northern Mariana Islands', 'Northern Mariana Islands', 'MNP', '580', 'no', '1+670', '.mp'),
(165, 'NO', 'Norway', 'Kingdom of Norway', 'NOR', '578', 'yes', '47', '.no'),
(166, 'OM', 'Oman', 'Sultanate of Oman', 'OMN', '512', 'yes', '968', '.om'),
(167, 'PK', 'Pakistan', 'Islamic Republic of Pakistan', 'PAK', '586', 'yes', '92', '.pk'),
(168, 'PW', 'Palau', 'Republic of Palau', 'PLW', '585', 'yes', '680', '.pw'),
(169, 'PS', 'Palestine', 'State of Palestine (or Occupied Palestinian Territory)', 'PSE', '275', 'some', '970', '.ps'),
(170, 'PA', 'Panama', 'Republic of Panama', 'PAN', '591', 'yes', '507', '.pa'),
(171, 'PG', 'Papua New Guinea', 'Independent State of Papua New Guinea', 'PNG', '598', 'yes', '675', '.pg'),
(172, 'PY', 'Paraguay', 'Republic of Paraguay', 'PRY', '600', 'yes', '595', '.py'),
(173, 'PE', 'Peru', 'Republic of Peru', 'PER', '604', 'yes', '51', '.pe'),
(174, 'PH', 'Phillipines', 'Republic of the Philippines', 'PHL', '608', 'yes', '63', '.ph'),
(175, 'PN', 'Pitcairn', 'Pitcairn', 'PCN', '612', 'no', 'NONE', '.pn'),
(176, 'PL', 'Poland', 'Republic of Poland', 'POL', '616', 'yes', '48', '.pl'),
(177, 'PT', 'Portugal', 'Portuguese Republic', 'PRT', '620', 'yes', '351', '.pt'),
(178, 'PR', 'Puerto Rico', 'Commonwealth of Puerto Rico', 'PRI', '630', 'no', '1+939', '.pr'),
(179, 'QA', 'Qatar', 'State of Qatar', 'QAT', '634', 'yes', '974', '.qa'),
(180, 'RE', 'Reunion', 'Réunion', 'REU', '638', 'no', '262', '.re'),
(181, 'RO', 'Romania', 'Romania', 'ROU', '642', 'yes', '40', '.ro'),
(182, 'RU', 'Russia', 'Russian Federation', 'RUS', '643', 'yes', '7', '.ru'),
(183, 'RW', 'Rwanda', 'Republic of Rwanda', 'RWA', '646', 'yes', '250', '.rw'),
(184, 'BL', 'Saint Barthelemy', 'Saint Barthélemy', 'BLM', '652', 'no', '590', '.bl'),
(185, 'SH', 'Saint Helena', 'Saint Helena, Ascension and Tristan da Cunha', 'SHN', '654', 'no', '290', '.sh'),
(186, 'KN', 'Saint Kitts and Nevis', 'Federation of Saint Christopher and Nevis', 'KNA', '659', 'yes', '1+869', '.kn'),
(187, 'LC', 'Saint Lucia', 'Saint Lucia', 'LCA', '662', 'yes', '1+758', '.lc'),
(188, 'MF', 'Saint Martin', 'Saint Martin', 'MAF', '663', 'no', '590', '.mf'),
(189, 'PM', 'Saint Pierre and Miquelon', 'Saint Pierre and Miquelon', 'SPM', '666', 'no', '508', '.pm'),
(190, 'VC', 'Saint Vincent and the Grenadines', 'Saint Vincent and the Grenadines', 'VCT', '670', 'yes', '1+784', '.vc'),
(191, 'WS', 'Samoa', 'Independent State of Samoa', 'WSM', '882', 'yes', '685', '.ws'),
(192, 'SM', 'San Marino', 'Republic of San Marino', 'SMR', '674', 'yes', '378', '.sm'),
(193, 'ST', 'Sao Tome and Principe', 'Democratic Republic of São Tomé and Príncipe', 'STP', '678', 'yes', '239', '.st'),
(194, 'SA', 'Saudi Arabia', 'Kingdom of Saudi Arabia', 'SAU', '682', 'yes', '966', '.sa'),
(195, 'SN', 'Senegal', 'Republic of Senegal', 'SEN', '686', 'yes', '221', '.sn'),
(196, 'RS', 'Serbia', 'Republic of Serbia', 'SRB', '688', 'yes', '381', '.rs'),
(197, 'SC', 'Seychelles', 'Republic of Seychelles', 'SYC', '690', 'yes', '248', '.sc'),
(198, 'SL', 'Sierra Leone', 'Republic of Sierra Leone', 'SLE', '694', 'yes', '232', '.sl'),
(199, 'SG', 'Singapore', 'Republic of Singapore', 'SGP', '702', 'yes', '65', '.sg'),
(200, 'SX', 'Sint Maarten', 'Sint Maarten', 'SXM', '534', 'no', '1+721', '.sx'),
(201, 'SK', 'Slovakia', 'Slovak Republic', 'SVK', '703', 'yes', '421', '.sk'),
(202, 'SI', 'Slovenia', 'Republic of Slovenia', 'SVN', '705', 'yes', '386', '.si'),
(203, 'SB', 'Solomon Islands', 'Solomon Islands', 'SLB', '090', 'yes', '677', '.sb'),
(204, 'SO', 'Somalia', 'Somali Republic', 'SOM', '706', 'yes', '252', '.so'),
(205, 'ZA', 'South Africa', 'Republic of South Africa', 'ZAF', '710', 'yes', '27', '.za'),
(206, 'GS', 'South Georgia and the South Sandwich Islands', 'South Georgia and the South Sandwich Islands', 'SGS', '239', 'no', '500', '.gs'),
(207, 'KR', 'South Korea', 'Republic of Korea', 'KOR', '410', 'yes', '82', '.kr'),
(208, 'SS', 'South Sudan', 'Republic of South Sudan', 'SSD', '728', 'yes', '211', '.ss'),
(209, 'ES', 'Spain', 'Kingdom of Spain', 'ESP', '724', 'yes', '34', '.es'),
(210, 'LK', 'Sri Lanka', 'Democratic Socialist Republic of Sri Lanka', 'LKA', '144', 'yes', '94', '.lk'),
(211, 'SD', 'Sudan', 'Republic of the Sudan', 'SDN', '729', 'yes', '249', '.sd'),
(212, 'SR', 'Suriname', 'Republic of Suriname', 'SUR', '740', 'yes', '597', '.sr'),
(213, 'SJ', 'Svalbard and Jan Mayen', 'Svalbard and Jan Mayen', 'SJM', '744', 'no', '47', '.sj'),
(214, 'SZ', 'Swaziland', 'Kingdom of Swaziland', 'SWZ', '748', 'yes', '268', '.sz'),
(215, 'SE', 'Sweden', 'Kingdom of Sweden', 'SWE', '752', 'yes', '46', '.se'),
(216, 'CH', 'Switzerland', 'Swiss Confederation', 'CHE', '756', 'yes', '41', '.ch'),
(217, 'SY', 'Syria', 'Syrian Arab Republic', 'SYR', '760', 'yes', '963', '.sy'),
(218, 'TW', 'Taiwan', 'Republic of China (Taiwan)', 'TWN', '158', 'former', '886', '.tw'),
(219, 'TJ', 'Tajikistan', 'Republic of Tajikistan', 'TJK', '762', 'yes', '992', '.tj'),
(220, 'TZ', 'Tanzania', 'United Republic of Tanzania', 'TZA', '834', 'yes', '255', '.tz'),
(221, 'TH', 'Thailand', 'Kingdom of Thailand', 'THA', '764', 'yes', '66', '.th'),
(222, 'TL', 'Timor-Leste (East Timor)', 'Democratic Republic of Timor-Leste', 'TLS', '626', 'yes', '670', '.tl'),
(223, 'TG', 'Togo', 'Togolese Republic', 'TGO', '768', 'yes', '228', '.tg'),
(224, 'TK', 'Tokelau', 'Tokelau', 'TKL', '772', 'no', '690', '.tk'),
(225, 'TO', 'Tonga', 'Kingdom of Tonga', 'TON', '776', 'yes', '676', '.to'),
(226, 'TT', 'Trinidad and Tobago', 'Republic of Trinidad and Tobago', 'TTO', '780', 'yes', '1+868', '.tt'),
(227, 'TN', 'Tunisia', 'Republic of Tunisia', 'TUN', '788', 'yes', '216', '.tn'),
(228, 'TR', 'Turkey', 'Republic of Turkey', 'TUR', '792', 'yes', '90', '.tr'),
(229, 'TM', 'Turkmenistan', 'Turkmenistan', 'TKM', '795', 'yes', '993', '.tm'),
(230, 'TC', 'Turks and Caicos Islands', 'Turks and Caicos Islands', 'TCA', '796', 'no', '1+649', '.tc'),
(231, 'TV', 'Tuvalu', 'Tuvalu', 'TUV', '798', 'yes', '688', '.tv'),
(232, 'UG', 'Uganda', 'Republic of Uganda', 'UGA', '800', 'yes', '256', '.ug'),
(233, 'UA', 'Ukraine', 'Ukraine', 'UKR', '804', 'yes', '380', '.ua'),
(234, 'AE', 'United Arab Emirates', 'United Arab Emirates', 'ARE', '784', 'yes', '971', '.ae'),
(235, 'GB', 'United Kingdom', 'United Kingdom of Great Britain and Nothern Ireland', 'GBR', '826', 'yes', '44', '.uk'),
(236, 'US', 'United States', 'United States of America', 'USA', '840', 'yes', '1', '.us'),
(237, 'UM', 'United States Minor Outlying Islands', 'United States Minor Outlying Islands', 'UMI', '581', 'no', 'NONE', 'NONE'),
(238, 'UY', 'Uruguay', 'Eastern Republic of Uruguay', 'URY', '858', 'yes', '598', '.uy'),
(239, 'UZ', 'Uzbekistan', 'Republic of Uzbekistan', 'UZB', '860', 'yes', '998', '.uz'),
(240, 'VU', 'Vanuatu', 'Republic of Vanuatu', 'VUT', '548', 'yes', '678', '.vu'),
(241, 'VA', 'Vatican City', 'State of the Vatican City', 'VAT', '336', 'no', '39', '.va'),
(242, 'VE', 'Venezuela', 'Bolivarian Republic of Venezuela', 'VEN', '862', 'yes', '58', '.ve'),
(243, 'VN', 'Vietnam', 'Socialist Republic of Vietnam', 'VNM', '704', 'yes', '84', '.vn'),
(244, 'VG', 'Virgin Islands, British', 'British Virgin Islands', 'VGB', '092', 'no', '1+284', '.vg'),
(245, 'VI', 'Virgin Islands, US', 'Virgin Islands of the United States', 'VIR', '850', 'no', '1+340', '.vi'),
(246, 'WF', 'Wallis and Futuna', 'Wallis and Futuna', 'WLF', '876', 'no', '681', '.wf'),
(247, 'EH', 'Western Sahara', 'Western Sahara', 'ESH', '732', 'no', '212', '.eh'),
(248, 'YE', 'Yemen', 'Republic of Yemen', 'YEM', '887', 'yes', '967', '.ye'),
(249, 'ZM', 'Zambia', 'Republic of Zambia', 'ZMB', '894', 'yes', '260', '.zm'),
(250, 'ZW', 'Zimbabwe', 'Republic of Zimbabwe', 'ZWE', '716', 'yes', '263', '.zw');
 
 
Original : http://erikastokes.com/mysql-help/mysql-country-table.php 

 
 

domingo, 16 de marzo de 2014

Actualizar MySQL 5.5 en Plesk 11.5 CentOS

Desde shell primero debes de tener el repositorio de atomic, si no lo tienes ejecuta

# wget -q -O - http://www.atomicorp.com/installers/atomic | sh


Después ejecuta el siguiente  comando

# yum install mysql-server mysqlclient16 t1lib

reinicia mysql y ejecuta actualizar las bases de datos, primero lee cual es tu contraseña de mysql en /etc/psa/.psa.shadow y ejecuta

# mysql_upgrade -u admin -p

ahí pondrás la contraseña que consultaste

y listo




lunes, 22 de julio de 2013

martes, 16 de julio de 2013

jueves, 4 de julio de 2013

Solucion error #1547 - Column count of mysql.proc is wrong

Para solucionar el error #1547 - Column count of mysql.proc is wrong  ejecuta desde terminal de comandos

# mysql_upgrade -u root -p

y listo.








viernes, 17 de mayo de 2013

Ejemplos de bases de datos ya creadas

Hace poco encontré esta página en donde muestran ejemplos de bases de datos ya creadas de múltiples rubros, por ejemplo esta de comercio electronico



La página  es:  http://www.databaseanswers.org/data_models/

No recomiendo las usen al pie de la letra, pero  si ayuda a darnos las necesidades de un sector

Tambien ofrecemos asesoría para la creación de la base de datos o creacion de su proyecto, nos especializamos en aplicaciones web, inclusive aplicaciones web que parecen de escritorio.  www.mashter.com

Un listado de las los ejemplos que tiene:

    Publicidad
        Agencias
        Arquitectura para el futuro
        Publicaciones multimedia
        Publicación y suscripción (Complex)
        Publicación y suscripción (Simple)
        Sistemas de Publicidad
        Web Site Analytics
    Transporte Aéreo
        Refacciones Aeronáuticas y Pedidos
        Reservas de avión en África
        Operaciones de líneas aéreas
        Reservación de Aerolíneas
        Aerolínea rutas de viaje
        Gestión Aeroportuaria
        Empresa Modelo de Datos para el transporte aéreo
    Bienes
        Bienes
        Los activos y ubicaciones
        Activos Mantenimiento
    Bancos
        Adquisiciones Banca
        Banco y Sucursales
        Almacenes de datos bancarios
        Bancos de Inversión
        Banca en Línea
        Bancos minoristas
    Business Intelligence (BI)
        BI en la playa
        BMEWS 123
        BMEWS Arquitectura de Datos
        Organización BMEWS
    Niños
        Centros de Cuidado de Niños
        Los niños y las familias a apoyar
        Los niños en instituciones (UNICEF)
        Ayuda Rcds Mgt Infantil
        Caridades Vuelos infantiles
        Clínicas para niños
        Marco Común de Evaluación de los Niños (Reino Unido)
        Vida de los niños
        Base de Datos Nacional de Niños
        Grupos de juego para niños
    Iglesias
        Donaciones Iglesia
        Miembros de la Iglesia (Visio)
        Misioneros de la Iglesia
        Equipos Alabanza Iglesia
        Iglesia Domingo Escuelas
        Iglesia (Juventud)
    Resolución de conflictos
        Los conflictos y las guerras
        Conflicto de Oriente Medio
        Calidad de Vida
        Resolución de Planificación
    Cruceros
        Cruceros y pasajeros
        Cruise Ship Adminstration
        Cruceros
    Data Warehouse
        Clientes y Compras
        eCommerce Data Warehouse
        Carga de un Data Warehouse
        Loading Data Warehouse (Alt)
        Farmacia
        Diseño del copo de nieve de Transacción
        Diseño Estrella de la Lista Enseñanza
        Diseño Estrella de transacción (Conceptual)
        Diseño Estrella de transacción (Física)
    Documentos
        Sistemas de Control de Documentos
        Gestión de documentos - Básico
        Gestión de documentos - Generic
        Gestión de documentos - Seguridad
        Gestión de documentos - Específico
        La publicación del documento
        Gestión de plantillas de documentos
        Flujo de trabajo de documentos
        Documentos y Colecciones
        Documentos y Gastos
    Educación
        Redes Educativas
        Open University
        Sistemas de Gestión de la Escuela
        Escuela imprentas
        Escuelas deportivas Torneos
        Alojamiento para estudiantes
        Actividades Estudiantiles
        Aplicaciones para estudiantes
        Evaluaciones de los Estudiantes (simple)
        Evaluaciones de los Estudiantes (Complex)
        Tareas de los estudiantes
        Los atletas y los equipos de estudiantes
        Exámenes para estudiantes
        Exámenes para estudiantes en Arabia
        Sistemas de Información para estudiantes
        Prácticas para estudiantes
        Préstamos para estudiantes
        Estudiantes en Universidades
        Inscripción Estudiantil
        Listas de estudiantes
        Seguimiento de expedientes de los estudiantes
        Prácticas en empresas para estudiantes
        Universidad de catálogos de cursos
        Gimnasia Universidad
    e-Commerce
        B2B e-Commerce
        B2C de comercio electrónico
        Los clientes, campañas y de comercio electrónico
        e-Commerce
        Juegos Sitio Web
        Galerías de arte en línea
        Pedidos y Envíos
        Catálogos fotos
        Carritos de la compra
    Servicios de Emergencia
        Servicios de Emergencia
        Voluntarios de Servicios de Emergencia
    Empleados
        Empleados
        Empleados Deja Registros
        Empleados Fondos de Ahorro
        Empleados Horarios
        Los empleados que trabajan en casa
        Las agencias de empleo
    Modelos de datos empresariales
        Travel Air
        BMEWS BI
        Transporte de Contenedores
        Digital Innovation Inc.
        Proveedores de energía eléctrica
        Seguro
        Bancos de Inversión
        Gobierno Local
        Empresas Petroleras
        Ventas al por menor
    Entretenimiento
        Shrek Movie
        Agencias de talento
        Salones de bronceado
        Reservas Teatro
    Eventos
        Mejores Prácticas y eventos de usuario
        Planificación de eventos
        Procesamiento de Eventos (Complex)
        Los registros de eventos
        Reservas de eventos
        Eventos y Capacitación del Personal
        Eventos en la vida de una vaca
        Gestión de eventos de peligro
        Organizaciones, personas y eventos
        Restaurante Eventos Reservas
    Gaming
        Juegos de azar (en línea)
        Gaming - Genérico (+ Cursos Universitarios)
        Juegos Características
        Juegos Store
        Ligas del juego
        Gaming - específica - Gears of War
        Gaming - específico - Table Top
        Sitios Web de Juegos de Azar
        Shrek Movie

   

    Clientes
        Clientes y cargos
        Los clientes y ubicaciones
        CRM
            Call Centers
            Métricas Cliente
            Datos de Marketing
            Marketing de Arquitectura de Datos
            Microsoft Dynamics CRM
            Personalización
            Top-Level Data Model
            Plantilla para un diccionario de datos de los sistemas de código
        Sistemas de gestión de clientes
        Los clientes con B2C en varios idiomas
        Los clientes de un banco
        Los clientes de un banco (al por menor)
        Los clientes en una librería
        Los clientes de un Call Center
        Los clientes y direcciones
        Clientes y Campañas
        Clientes y alquiler de coches
        Clientes y Venta de Automóviles
        Los clientes y el mantenimiento del coche
        Los clientes y tarjetas de crédito
        Clientes y Dept Stores
        Clientes y ofertas especiales (UML)
        Clientes y Entregas
        Los clientes y comercio electrónico
        Clientes y Servicios Financieros
        Los clientes y tiendas de yogur congelado
        Los clientes y los Juegos Tiendas
        Los clientes y los peluqueros
        Clientes y Hardware Store
        Los clientes y los Centros de Salud
        Clientes y Seguros
        Los clientes y gestión de inventario
        Clientes y Facturas
        Clientes y Trabajos
        Los clientes y los préstamos
        Los clientes y fidelización
        Clientes y Membresías
        Los clientes y Banca Online
        Clientes y pedidos
        Los clientes y las entregas parciales
        Los clientes y los pagos (e-Gov't)
        Los clientes y las facturas de teléfono
        Los clientes y precios comparados Sitios Web
        Clientes y Productos
        Clientes y Compras W'hse Data
        Los clientes y al por menor
        Clientes y Servicios
            Clientes y Servicios (Avanzado)
            Clientes y Servicios (Básico)
            Clientes y Servicios (EMS Ship Supply)
            Clientes y Servicios (Genérico)
            Clientes y Servicios (VECOM Marine)
        Los clientes y los compradores Recomendaciones
        Clientes y Telemarketing
        Los clientes y las facturas de agua
        Programación Class Cliente
        Clientes Comm y Personal
        Datos del Cliente
        Catálogo de datos del cliente
        Mapping Journey Cliente
        Clientes (Comercial y Personal)
        Clientes (Retail)
        Repositorio de metadatos al Cliente
        Métricas Cliente
        Al cliente Seguimiento de pedidos
        Modelo Cliente Genérico (Popkin)
    Modelos generales y patrones de diseño
        Modelos de datos canónicos
        Vida de los niños
        Circo (Eventos y jugadores)
        Clientes y Servicios
        Gestión Documental
        Padre de todos los modelos
        Fundación Genérico
        Generic Yo y Mi Vida
        Museos
        Las organizaciones y personas
        Organizaciones, Personas y Operaciones
        Organizaciones, diputados y Eventos
        Organizaciones, miembros y reuniones
        Atención al Paciente
        Publicación y suscripción (Simple)
        Publicación y suscripción (Complex)
        Reservas
        Menor (Genérico)
        Shrek 2 la película (Eventos y Lugares)
        Transporte
        Jerarquías definidas por el usuario
    Global
        Responsabilidad Global
        Comunidad Global
        Global Consulting
        Contracción del crédito global
        Crimen Global
        Custodia Global
        Firma Global
        Gestión global de proyectos
        Relocation Services Global
        Base de datos de referencia mundial
        Retail Marketing Global
    Golf
        Golf Club Management
        Campo de golf Mantenimiento
        Campo de golf de mantenimiento Tareas Empleado
        Memorabilia Golf
        Torneos de Golf
    Gobierno, Manejo de Riesgo y Cumplimiento
        BI en la playa
        GRC
    Hobbies y pasatiempos
        Torneos de Ajedrez
        Torneos de Golf
        Juegos Olímpicos
        Deportes Olímpicos
        Swimming Clubs
        Vela Clubs
    Áreas temáticas horizontales
        Cuentas
        Contratos
        Clientes
        Cliente Datos maestros
        Entregas
        Financiar
        Seguro
        Bancos de Inversión
        Facturas y Pagos
        Obtención
        Catálogos de productos
        Producto de datos maestros
        Base de datos de referencia
        Reference Manager Data
        Clientes Minoristas
    Gestión Hospitalaria
        Hospitalizaciones
        Quirófanos de los hospitales
        Consultas Externas del Hospital
        Los pacientes del Hospital
        Personal hospitalario
        Suministros Hospitalarios
    Hoteles y Alojamientos
        Alquileres de apartamentos
        Reservas de Hoteles
        Hoteles y atracciones turísticas
        Alojamiento a Largo Plazo
    Modelos de Datos de la Industria
        CRM y Clientes
        e-Commerce
        Educación
        Entretenimiento
        Salud y buena condición física
        Aplicación de la ley
        Ventas al por menor (Oil Companies)
        Estudiantes
        Transporte y Viajes
    Seguro
        Aplicaciones de Seguros
        Corredores de Seguros
        Seguros y eClaims
        Pólizas de seguro - coches, Hogar y Vida
        Reclamos de Seguros (en ArchiMate)
        Almacenes de Datos Seguros
        Seguros (General)
        Seguros (Personal)
        Pólizas de Seguro y Reclamaciones
        Solvencia II
    Inventario
        Inventario y Mantenimiento de Equipo
        Inventario y Ventas
        Control de inventario (archivos en carpetas)
        Control de Inventarios (Manuales)
        Control de inventario (Publishing)
        Control de inventario (la tienda al por menor)
        Control de inventario (Centros Deportivos)
        Control de Inventario y Precios
        Inventario de Muebles
        Inventario de Activos de TI
        Inventario de Equipo Alquiler
        Inventario de Servidores
        Inventario de las provisiones del buque
        Inventario de Equipo de Herramientas
    Banca de Inversión
        Cuentas
        Clients (Clientes)
        Empresa Modelo de Datos
        Autoridad de Servicios Financieros
        Ofertas de FX
        Custodia Global
        Asentamientos
    Aplicación de la ley
        Departamento de Policía de Baltimore
        Manejo de Casos
        El reconocimiento de huellas dactilares
        Forensic Science Labs
        Crimen Global
        Justicia Global (EE.UU.)
        Crimen japonesa (Yakuza)
        Jueces y Tribunales
        Departamento de Justicia
        Abogados, Casos y Letras
        Jurídico de gestión de casos
        Personas Jurídicas
        Bibliotecas para Abogados
        Delincuencia organizada Mafia
        Aplicación Móvil de la Policía
        Delincuentes y Movimientos
        Multas de Estacionamiento
        Departamentos de Policía
        Policía generalizado modelo de datos
        Informes de Información de la Policía
        Policía MDM Data Model
        Aplicaciones móviles Tiendas
        Policía de aplicaciones móviles
        Policía canónica Data Model
        Prisiones y Prisioneros
        Detectives privados
        Las pruebas de seguimiento
        Policías de tránsito y Entradas
        Terrorists Seguimiento
        Crimen japonesa Yakuza
    Bibliotecas
        Bibliotecas Modelo Básico
        Bibliotecas y Libros
        Las bibliotecas de activos digitales
        Bibliotecas de cintas de película
        Bibliotecas de elementos multimedia
        Bibliotecas de la partitura
        Bibliotecas para Abogados
        Bibliotecas para Maestros
        Bibliotecas para escuelas del Reino Unido
        Biblioteca Registro de Activos
        Donaciones Biblioteca
        Biblioteca de Haidar Salim en Irak
        Mi biblioteca (por Amazon Web Svcs)
        OPAC - Catálogo de la Biblioteca
        Biblioteca Virtual de MyLifeBits
    Gobierno Local (UK)
        Cliente MDM
        Empresa Modelo de Datos
        Monitoreo Ambiental
        Residentes
        Áreas de especialización
        De nivel superior
    Logística
        Modelo Estilo Canónica
        Corporativo
        Descartes Systems Group
        Defensa
        Transitarios
        Movimientos
        Envíos
        Naves Tiendas
    Fabricación
        Las órdenes de aviones y piezas
        Activos Mantenimiento
        Lista de materiales
        Fabricación de componentes (Keytec, Países Bajos)
        Construcción y Manufactura
        Las compras del cliente W'house Data
        Packaging Equipment Manufacturers
        Fabricación de papel
        Catálogos de productos
        Mamparas Fabricación
        Seguimiento de pedidos de clientes
        Mantenimiento de Vehículos
        Fabricantes de Vehículos
        Piezas-Repuestos Fabricación
    Marítimo
        Transitarios
        Puerto de gestión
        Arqueología Marina
        Museos Marítimos
        Buceo
        Mentoring Oficiales Navales
        Swimming Clubs
        El Grupo Marítimo
        Marina de los EE.UU.
    Master Data Management (MDM)
        Clientes (Gobierno local)
        Platform Enterprise Data
        Datos maestros en Malasia
        Policía MDM Data Model
        Productos
        Datos de referencia

   

    Médico
        Bancos de Sangre
        Detección del cáncer
        Centros Médicos Comunidad
        Práctica Dietista
        Práctica del Médico
        Registros Médicos Electrónicos
        Centros de Salud
        Reclamaciones de Seguros de Salud
        Hospice Care Patient
        Hospitalizaciones
        Quirófanos de los hospitales
        Consultas Externas del Hospital
        Hospitales y Pacientes
        Centros Médicos (Comunidad)
        Clínicas Médicas y Farmacias
        Laboratorios Médicos
        Laboratorios médicos con pagos
        Mortuaries
        Tratamiento natural de la enfermedad
        Enfermeras Roster
        Asilo de ancianos
        Los pacientes ambulatorios Medical Center
        Atención al Paciente
        Almacén de Datos del Paciente
        Pruebas de pacientes
        Los pacientes visitas al médico
        Farmacias y genéricos
        Farmacias y Recetas
        Farmacia de depósito de datos
        Suministros Farmacéuticos
        Clínicas podología
        Las recetas de base de datos
        Detener servicios fumadores
        Síntomas y Enfermedades
        Seguimiento de los resultados del tratamiento
    Farmacia
        Farmacias y genéricos
        Farmacias y Clínicas Médicas
        Farmacias y Recetas
        Farmacia de depósito de datos
        Las empresas farmacéuticas
        Proveedores Farmacéuticos Visitas
        Suministros Farmacéuticos
    Pagos
        Los clientes y los pagos (e-Gov't)
        Facturas y Pagos
        Futuro de los pagos
        Laboratorios médicos con pagos
        Seguimiento de pagos múltiples Trabajo
    Personas
    Policía
        Departamento de Policía de Baltimore
        Policía canónica Data Model
        Departamentos de Policía
        Policía generalizado modelo de datos
        Informes de Información de la Policía
        Policía MDM Data Model
        Policía de aplicaciones móviles
        Las pruebas de seguimiento
        Policías de tránsito y Entradas
    Productos
        Lista de materiales
        Catálogos de productos (simple)
        Catálogos de Productos (Complejo)
        Catálogos de productos para pintura
        Categorías de productos
        Características del Producto
        Distribución de productos
        Jerarquías del producto
        Reparación de la unidad
        Productos y Marcas
        Productos y Precios
        Productos y Seguridad
        Productos, Categorías y Atributos
        Productos para el alquiler
        Productos, Pedidos y Entregas
        Catálogos de Productos (Comercial): -
            Comvita
            Hotel Chocolat
            Selfridges
            TK Maxx
            Cartas de vinos
    Bienes Raíces
        Desarrollo Comercial y Riesgo
        Propiedades Comerciales
        Inversiones inmobiliarias
        Agentes de Bienes Raíces
        Alquiler
        Venta
    Reservas
        Alquileres de apartamentos
        Reservación de Aerolíneas
        Alquiler de coches
        Caravan Park reservas de vacaciones
        Reservas Cine
        Viajes en autobús
        Los médicos Práctica
        Driving School
        Reservas de eventos
        Vuelos de beneficencia para niños
        Reservas genéricos
        Peluquerías Nombramientos
        Centros de Salud
        Casas de vacaciones
        Reservas de Hoteles
        Servicios de limusina
        Programación de recursos múltiples
        Programación en línea
        Pool Hall Gestión
        Reservas ferroviarias
        Reservas en restaurantes
        Restaurante Eventos Reservas
        Centros deportivos
        El Grupo Marítimo
        Reservas Teatro
        Ticketmaster
        Alquiler de vehículos
        Sistema de Manejo de Visitantes
    Restaurantes
        Reservas en restaurantes
        Restaurante Servicio de Entrega
        Restaurante Eventos Reservas
        Guía de Restaurantes
    Venta al por menor
        Retail Generic
        Bancos minoristas
        Clientes Minoristas
        Clientes Minoristas (ARTS Estándar)
        Modelo Retail (ARTS) y Canonical
    Venta
        Comisiones por Ventas
        Ventas (ordenador - Dell)
        Salesforce
        Salesforce.dot.com
        Salesforce Estrategia MDL
        Integración de datos de Salesforce
        Salesforce.com Developer Challenge
        Ciclo de vida de Ventas
        Análisis de la promoción de ventas
    Recibos de Ventas
        Recibos de Ventas - Genérico
        Airline Boarding Pass
        Ferrocarriles Holandeses
        Malasia
        TK Maxx
    Escuelas
        Sistemas de Gestión de la Escuela
        Escuela imprentas
        Escuelas deportivas Torneos
    Servicios
        Evaluación de Servicio
        Servicio de seguimiento de llamadas
        Servicio Magia Profesionales
        Llamadas de solicitud de servicio
        Servicios de programación de trabajos
    Espectáculo
        Las compañías de ballet
        CD Collection
        Circo
        Clown Registro
        Escuela de Danza
        Agencias de talento
        Compañía de Teatro
        Parque temático y de actividad de los usuarios
        ticketmaster
    Modelos Showcase
    Antropología Social
        Hacer frente a la vida
        Conflicto en Oriente Próximo
        Calidad de Vida
        Sospechosos habituales
    Estudiantes
        Logros y Evaluaciones
        Alumni Portales Web
        Supervisión del comportamiento
        Iglesia Domingo Escuelas
        Programación de Clase
        Crédito Acumulación (Europa)
        e-Learning
        Fútbol de alta escuela
        Exámenes en línea
        Escuela de Hostelería Negocios
        Sistemas de Gestión de la Escuela
        Escuelas deportivas Torneos
        Horarios School
        Alojamiento para estudiantes
        Actividades Estudiantiles
        Aplicaciones para estudiantes
        Evaluaciones de los Estudiantes (simple)
        Evaluaciones de los Estudiantes (Complex)
        Tareas de los estudiantes
        Estudiantes Atletas
        Exámenes para estudiantes
        Exámenes para estudiantes en Arabia Saudita
        Colección cuotas de los estudiantes
        Pruebas de aptitud para estudiantes
        Sistemas de Información para estudiantes
        Prácticas para estudiantes
        Préstamos para estudiantes
        Estudiantes en Universidades
        Cuestionarios para estudiantes
        Inscripción Estudiantil
        Listas de estudiantes
        Seguimiento de expedientes de los estudiantes
        Prácticas en empresas para estudiantes
        Universidad de catálogos de cursos
        Gimnasia Universidad
    Áreas de especialización (Horizontal)
        Cuentas
        Contratos
        Clientes
        Cliente Datos maestros
        Entregas
        Financiar
        Seguro
        Bancos de Inversión
        Facturas y Pagos
        Obtención
        Catálogos de productos
        Producto de datos maestros
        Base de datos de referencia
        Reference Manager Data
        Clientes Minoristas
    Rastreo
        Seguimiento de pedidos de clientes
        Las pruebas de seguimiento
        Seguimiento agricultores Pagos
        Subvenciones Seguimiento de la Investigación
        Subvenciones Seguimiento de Desarrollo de Habilidades
        Seguimiento de inventario para los restaurantes
        Máquinas Seguimiento y contadores
        Seguimiento Artículos manufacturados
        Seguimiento Fabricantes Pedidos
        Seguimiento de pagos múltiples Trabajo
        Cartuchos de impresora de seguimiento
        Progess Seguimiento de Formación
        Seguimiento de propiedad Recursos Fiscales
        Seguimiento de los resultados del tratamiento
        El seguimiento de las transacciones con acciones
        Seguimiento de problemas de software
        Seguimiento de Registro del Software
        Seguimiento de misiones del personal
        Seguimiento Áreas de
        Seguimiento de Llamadas Telefónicas
        Seguimiento inquilino Contactos
        Terrorists Seguimiento
        Visitas de seguimiento de proveedores farmacéuticos
        Seguimiento de visitantes de un edificio
    Viajes y Transporte
        Transporte de Contenedores
        Sistemas Inteligentes de Transporte
        Ferrocarril Pasos a Nivel
        Navieras
        Logística de envío
        Naves Almacenes Logística
        Guías de Turismo
        Policías de tránsito y Entradas
        Sistema de Tren Mapa
        Capacitar sistemas de venta de entradas
        Transporte (Público)
        Transporte y envíos
        Agencias de Viajes
        Viajes y Turismo en todo el mundo
        Viajes y Transporte (principio Nivel)
        Viajes Quejas Compañía
        Circuitos turísticos
    Gestión de la identidad del usuario
        Índice Maestro de clientes
        LDAP
        Vista única del cliente
        Gestión de la identidad del usuario
    Sospechosos habituales
        Los conflictos y las guerras
        Clubes de Fútbol
        Fox Hunting
        Banquetes de boda
    Vehículos
        Seguro de Vehículo
        Importación de vehículos
        Mantenimiento de Vehículos
        Vehicle Tracking Kilometraje
        Fabricantes de Vehículos
        Piezas-Repuestos Fabricación
        Autoridad de Registro de Vehículo
        Alquiler de vehículos
        Seguimiento de vehículos
    Aplicaciones Verticales
        CRM y Clientes
        e-Commerce
        Educación
        Entretenimiento
        Salud y buena condición física
        Aplicación de la ley
        Estudiantes
        Transporte y Viajes
    Web
        Web 2.0
        Portal Web Navigation
        Sitio Web de la Comunidad
        Sitio Web para el sitio DBA
        Web Site Analytics
        Páginas del Sitio Web
        Registro del sitio Web
        Planes Web Site del usuario
        Análisis del tráfico del sitio Web
        Sitios Web para hobbies y pasatiempos
    Vino
        Bodegas de Vino (ERwin)
        Vino, comida y Comerciantes (ERwin)
        Vino, comida y maridajes
        Cartas de vinos


Espero les sirva.


miércoles, 27 de marzo de 2013

Monitoreo de Servidor MySQL y Linux


PASO 1
instala las librerias necesarias
# yum install python MySQL-python


PASO 2
descargarlo de  https://code.google.com/p/mycheckpoint/  en lo personal me gusta el .tar.gz

# mkdir /root/mycheckpoint
# cd /root/mycheckpoint
sustituye la url por la ultima versión
# wget https://code.google.com/p/mycheckpoint/downloads/detail?name=mycheckpoint-208.tar.gz
# tar xfz mycheckpoint-208.tar.gz
# cd mycheckpoint-208
# python setup.py install
# cp build/scripts-2.6/mycheckpoint /usr/local/bin/mycheckpoint

PASO 3
Crea una base de datos llamada mycheckpoint con todos los permisos

PASO 4
Crea el archivo /etc/mycheckpoint.cnf con el siguiente contenido


[mycheckpoint]
smtp_host = mail.my-server-company.com
smtp_from = monitor@my-server-company.com
smtp_to = dba@my-server-company.com

[client]
host=localhost
socket=/var/lib/mysql/mysql.sock
user=root
password=passmysql 
port=3306



PASO 5
Agrega en CRON
*/5 * * * * mycheckpoint --user=my_user --password=my_password --host=my_host --socket=/path/to/mysql.sock

un ejemplo es


*/5 * * * * mycheckpoint --user=root --password=passmysql --host=127.0.0.0 --socket=/var/lib/mysql/mysql.sock


o si creaste el archivo del paso 4 es tomado como configuración por default  quedando como
*/5 * * * * mycheckpoint 

PASO 6

iniciamos el servidor web para ver los resultados del analisis

# /usr/local/bin/mycheckpoint  http  >> /dev/null 2>&1  &

PASO 7
Ingresa a http://TU-IP:12306  y listo,  aqui un ejemplo http://www.mashter.com:12306/mycheckpoint/


más información, reportes personalizados, comandos SQL, comandos Shell, etc.. ingresa a  http://code.openark.org/forge/mycheckpoint/documentation




lunes, 11 de febrero de 2013

Mostrar dia de la semana en español con mysql

Aquí les dejo un ejemplo de un query para mostrar el día de la semana (lunes, martes, miercoles,....) de una fecha almacenada en mysql 


SELECT CONCAT(ELT(WEEKDAY(campo_fecha) + 1, 'Lunes', 'Martes', 'Miercoles', 'Juevez', 'Viernes', 'Sabado', 'Domingo')) AS DIA_SEMANA
FROM  MI_TABLA


No olviden personalizar lo que esta en rojo.



lunes, 28 de enero de 2013

Como utilizar el JOIN

Algunas veces nos confundimos con los JOIN, LEFT, RIGHT, ETC.  cual usamos?

Les presento esta imagen que me encontre, en donde A es la tabla principal y B la tabla con datos foraneos




viernes, 7 de diciembre de 2012

Ejecutar mysql desde shell

Algunas veces necesitamos ejecutar un Query SQL en un script de shell


#mysql --host=127.0.0.1 -u elusuario --password=lacontrasena -e 'SELECT * from mi tabla`;' labasededatos


Solo remplacen lo que esta en rojo y listo.




lunes, 2 de julio de 2012

myisam vs innodb, como decidir?

A simple vista la pregunta eterna, y he aquí una respuesta fácil y rápida

No te compliques si no tienes una necesidad muy especial

Utiliza  innodb cuando tengas mucha escritura o requieres que se elimine o actualice información en cascada automáticamente.

Utiliza myisam cuando exista poca escritura y se notará mucho más rápido

así de fácil.


martes, 5 de junio de 2012

20 Consejos para Mejorar tu MySQL que quizás no conocías


Las operaciones sobre bases de datos suelen ser los principales cuellos de botella en las aplicaciones web. Por tanto es tarea de los programadores estructurar apropiadamente, escribir peticiones apropiadas, y programar mejor código. A continuación mostramos algunas técnicas de optimización MySQL.

1. Optimiza tus peticiones para la caché.

La mayoría de servidores MySQL tienen habilitado el sistema de caché. Es uno de los métodos más efectivos para mejorar el rendimiento, que vienen de la mano del motor de base de datos. Cuando la misma petición se ejecuta varias veces, el resultado se obtiene de la caché, que resulta mucho más rápida.
El problema es que, es tan sencillo y transparente para el programador, que la mayoría de nosotros tendemos a ignorarlo. Algunas cosas que hacemos de hecho pueden evitar que la caché haga su trabajo.
  1. //La cache NO funciona
  2. $r = mysql_query("SELECT nombre FROM usuarios WHERE registro >= CURDATE()");
  3.  
  4. // La caché sí funciona
  5. $hoy = date("Y-m-d");
  6. $r = mysql_query("SELECT nombre FROM usuarios WHERE registro >= ‘$hoy’");
la razón por la que no funciona en el primer caso es por el uso de CURDATE(). Puede aplicarse a todas las funciones no deterministas, como NOW() y RAND(). Dado que el resultado retornado por la función puede cambiar, MySQL decide deshabitar la caché en esa consulta.

2. Usa EXPLAIN en tus consultas SELECT

Utilizar la palabra clave EXPLAIN te dará muchos detalles internos de lo que hace MySQL para ejecutar tu consulta. Esto te puede ayudar a detectar los cuellos de botella y otros problemas con tu query o la estructura de la tabla.
El resultado de una query EXPLAIN te mostrará los índices que se están utilizando, cómo se está explorando la tabla, cómo se está ordenando, etc…
Coge una consulta SELECT (preferiblemente una compleja, con uniones), y añade la palabra EXPLAIN al principio del todo. Puedes utilizar por ejemplo PhpMyAdmin para esto. Te devolverá los resultados en una sencilla tabla. Por ejemplo, pongamos que me he olvidado de poner un índice a una columna, con la que estoy ejecutando
unoptimized_explain
Después de añadir el índice al campo group_id:
optimized_explain
Ahora en lugar de escanear 7883 filas, sólo escaneará 9 y 16 filas de las dos tablas.

3. Usa LIMIT 1 Cuando sólo quieras una única fila.

A veces, cuando estás realizando consultas a tus tablas, ya sabes que sólo necesitas una única fila. En estos casos debes solicitar a la base de datos un único resultado, o de lo contrario comprobará todos y cada uno de las coincidencias de la cláusula WHERE.
En estos casos, añadir LIMIT 1 a tu query puede mejorar significativamente la velocidad. De esta forma la base de datos dejará de escanear resultados en el momento que encuentre uno, en lugar de recorrer toda la tabla o un índice.
  1. // Tengo usuarios de Valencia?
  2.  
  3. // lo que NO hay que hacer:
  4. $r = mysql_query("SELECT * FROM user WHERE ciudad = ‘Valencia’");
  5. if (mysql_num_rows($r) > 0) {
  6.    // …
  7. }
  8.  
  9. // mucho mejor:
  10. $r = mysql_query("SELECT 1 FROM user WHERE ciudad = ‘Valencia’ LIMIT 1");
  11. if (mysql_num_rows($r) > 0) {
  12.    // …
  13. }

4. Indexa los campos de Búsqueda

Los índices no son sólo para las claves primarias o las claves únicas. Si en tu tabla hay columnas sobre las que vas a realizar búsquedas, deberías indexarlas casi siempre.
search_index
Como puedes ver, esta regla se aplica también a las búsquedas parciales como “apellido LIKE ‘a%’”. Cuando se busca desde el comienzo de la cadena, MySQL es capaz de utilizar el índice de esta columna.
Deberías también comprender en qué tipos de búsqueda no pueden utilizarse índices normales. Por ejemplo, cuando buscas una palabra dentro de un texto (p.e. “WHERE contenido LIKE ‘%manzana%’”), no observarás ningún beneficio con un índice normal. En este caso sería mejor utilizar una búsqueda FULLTEXT o construir tu propia solución de indexación.

5. Indexa, y utiliza el mismo tipo de columna para los Join

Si tu aplicación contiene muchas sentencias JOIN debes asegurarte de que las columnas que unes están indexadas en ambas tablas. Esto afecta en cómo MySQL optimiza internamente las operaciones JOIN.
Además, las columnas que vas a unir deben ser del mismo tipo. Por ejemplo, si estás uniendo una columna de tipo DECIMAL con una columna de tipo INT de otra tabla, MySQL no será capaz de usar al menos uno de los dos índices. Incluso la codificación de caracteres necesita ser del mismo tipo para las columnas de tipo String.
  1. // buscando compañias en mi ciudad
  2. $r = mysql_query("SELECT nombre_companyia FROM usuarios
  3.   LEFT JOIN companyias ON (usuarios.ciudad = companyias.ciudad)
  4.   WHERE usuarios.id = $user_id");
  5.  
  6. // ambas columnas ciudad deben estar indexadas
  7. // y ambas deberían ser del mismo tipo y codificación de caracteres
  8. // o MySQL tendrá que hacer un escaneo total de las tablas

6. No uses ORDER BY RAND()

Éste es uno de esos truquillos que suenan muy bien a primera vista, y donde muchos programadores novatos suelen caer. Puede que no hayas caído en la cuenta del increíble cuello de botella que se puede provocar si utilizas esta técnica en tus peticiones.
Si en verdad necesitas tablas aleatorias para tu resultado, hay formas mucho mejores de hacerlo. Está claro que ocuparán más código, pero estarás previniendo un posible embotellamiento que aumenta exponencialmente a medida que tu contenido crece. El problema es que MySQL tendrá que ejecutar RAND() (que requiere de potencia de procesado) para cada una de las filas antes de ordenarlas y devolver una simple fila.
  1. // la forma de NO hacerlo:
  2. $r = mysql_query("SELECT nombreusuario FROM usuarios ORDER BY RAND() LIMIT 1");
  3.  
  4. // mucho mejor:
  5.  
  6. $r = mysql_query("SELECT count(*) FROM usuarios");
  7. $d = mysql_fetch_row($r);
  8. $rand = mt_rand(0,$d[0] – 1);
  9.  
  10. $r = mysql_query("SELECT nombreusuario FROM usuarios LIMIT $rand, 1");
De forma que seleccionas un número aleatorio inferior a la cantidad de resultados y lo usas como el desplazamiento en la cláusula LIMIT.

7. Evita SELECT *

Cuanta más información se lee de las tablas, más lenta se ejecutará la petición SQL. Aumenta el tiempo que toma para las operaciones en disco. Además cuando el servidor de bases de datos está separado del servidor web, tendrás mayores retrasos de red debido a que la información tiene que ser transferida entre ambos servidores.
Es un buen hábito especificar siempre las columnas que necesitas cuando estás haciendo un SELECT.
  1. // preferible no hacer:
  2. $r = mysql_query("SELECT * FROM usuarios WHERE id_usuario = 1");
  3. $d = mysql_fetch_assoc($r);
  4. echo "Bienvenido {$d['nombreusuario']}";
  5.  
  6. // mejor:
  7. $r = mysql_query("SELECT nombreusuario FROM usuarios WHERE id_usuario = 1");
  8. $d = mysql_fetch_assoc($r);
  9. echo "Bienvenido {$d['nombreusuario']}";
  10.  
  11. // las diferencias son mucho más significativas cuanta más información haya

8. Ten casi siempre un campo identificativo

Ten en cada tabla una columna id con las propiedades PRIMARY KEY, AUTO_INCREMENT y alguna de las variantes de INT. Además es preferible que sea UNSIGNED (sin signo) ya que el valor nunca podrá ser negativo.
Incluso si tienes una tabla de usuarios cuyos nombres de usuario sean únicos, no los uses como clave primaria. Los campos VARCHAR como clave primaria son muy lentos. Y tendrás una mejor estructura en tu código si referencias a todos tus usuarios por sus ids internamente.
También hay una serie de operaciones internas que realiza el motor de MySQL por sí mismo, que usa la clave primaria, lo cual se hace incluso más importante cuanto más compleja sea la base de datos (clusters, particionados, etc…).
Una posible excepción a la regla son las “tablas de asociación”, utilizadas en las relaciones “muchos a muchos” entre dos tablas. Por ejemplo, una tabla “etiquetas_articulos” que contiene dos columnas: id_articulo, id_etiqueta, que es utilizada para las relaciones entre las tablas “articulos” y “etiquetas”. Estas tablas pueden tener una clave PRIMARY que contenga ambos campos.

9. Usa ENUM antes que VARCHAR

Las columnas de tipo ENUM son muy rápidas y compactas. Internamente se almacenan como TINYINT, aunque pueden contener y representar valores de cadenas. Esto las hace un perfecto candidato para algunos campos.
Si tienes un campo que contendrá sólo unos pocos valores distintos, utiliza ENUM en lugar de VARCHAR. Por ejemplo, podría ser una columna llamada “estado”, y sólo unos pocos valores como “activo”, “inactivo”, “pendiente”, “caducado”, etc…
De hecho hay una forma de obtener sugerencias del propio MySQL para reestructurar nuestra tabla. Cuando tienes un campo VARCHAR te puede sugerir que cambies ésa columna al tipo ENUM. Esto se hace utilizando la llamada a PROCEDURE ANALYSE(). Lo cual nos lleva a:

10. Obtén sugerencias con PROCEDURE ANALYSE()

PROCEDURE ANALYSE() permitirá a MySQL analizar la estructura de las columnas y los datos actuales que contienen para retornar ciertas sugerencias que serán de tu interés. Sólo es útil si hay información en las tablas, porque esto toma gran importancia en la toma de decisiones.
Por ejemplo, si creaste un campo INT para tu clave primaria, pero no tienes muchas filas, podría sugerirte que uses MEDIUMINT en su lugar. O si estas usando un campo VARCHAR, podría sugerirte que lo conviertas en ENUM, si sólo estás escribiendo unos pocos valores.
También puedes ejecutarlo pulsando en “Propose table structure” (proponer estructura de tabla) en la interfaz de PhpMyAdmin, en una de las vistas de tus tablas.
suggestions
Ten presente que esto son sólo sugerencias. Y si tu tabla va a crecer mucho, podrían no ser buenas sugerencias a seguir. La decisión es tuya en última instancia.

11. Usa NOT NULL si puedes

A no ser que tengas una razón específica para usar el valor NULL, deberías establecer siempre tus columnas como NOT NULL.
En primer lugar, pregúntate a tí mismo si habría alguna diferencia entre tener una cadena vacía y un valor NULL (o para campos INT: 0 contra NULL). Si no hay problema entre los dos valores, no necesitas un campo NULL. (¿Sabías que Oracle considera a NULL y una cadena vacía como lo mismo?)
Las columnas NULL necesitan espacio adicional y pueden añadir complejidad a tus sentencias de comparación. Simplemente evítalas siempre que puedas. En cualquier caso, entiendo que en algunos casos muy específicos haya razón para usar columnas NULL, lo cual no es siempre algo malo.
Extraído de la documentación de MySQL:
“las columnas NULL requieren espacio adicional en la fila a grabar donde los valores son NULL. Para las tablas MyISAM, cada columna NULL toma un bit extra, redondeando hacia arriba al byte más cercano.”

12. Declaraciones preparadas

Existen múltiples beneficios al usar declaraciones preparadas, tanto a nivel de productividad como de seguridad.
Las declaraciones preparadas filtran las variables que le pasas por defecto, lo que es perfecto para proteger tu aplicación contra ataques de inyección SQL. Claro que puedes filtrar tus variables manualmente, pero estos métodos son propensos al error humano y al despiste del programador. Este problema no es tan acentuado cuando se utiliza algún tipo de Framework u ORM.
Ya que queríamos centrarnos en la productividad, deberíamos mencionar los beneficios que ofrece este area. Estos beneficios son más significativos cuando la misma consulta va a utilizarse varias veces en tu aplicación. Puedes asignar diferentes valores a una misma declaración, y MySQL sólo tendrá que analizarla una vez.
Además, las últimas versiones de MySQL transmiten declaraciones preparadas de forma binaria nativamente, más eficientes y que ayudan a reducir los retrasos de red.
Hubo un tiempo en que muchos programadores solían evitar las declaraciones preparadas a propósito, por una única razón: no estaban siendo cacheadas por la caché de consultas de MySQL. Pero aproximadamente en la versión 5.1, el cacheo de consultas también ha sido soportado.
Para utilizar declaraciones preparadas en PHP puedes echar un ojo a la extensión mysqli o utilizar una capa de abstracción de base de datos como PDO.
  1. // creamos la declaración preparada
  2. if ($stmt = $mysqli->prepare("SELECT nombre FROM usuarios WHERE ciudad=?")) {
  3.  
  4.    // pasamos los parámetros
  5.    $stmt->bind_param("s", $ciudad);
  6.  
  7.    // ejecutamos
  8.    $stmt->execute();
  9.  
  10.    // pasamos la variable de resultado
  11.    $stmt->bind_result($nombre);
  12.  
  13.    // obtenemos el resultado
  14.    $stmt->fetch();
  15.  
  16.    printf("%s es de %s\n", $nombre, $ciudad);
  17.  
  18.    $stmt->close();
  19. }

13. Consultas fuera de buffer

Normalmente cuando estás ejecutando una consulta en un script, éste se esperará a que acabe la ejecución de esta consulta antes de que pueda continuar. Pero puedes cambiar este comportamiento sacando la consulta fuera del búffer.
Puedes echar un ojo a la genial explicación que hacen en la documentación de PHP para la función the mysql_unbuffered_query():
“mysql_unbuffered_query() envía la query SQL a MySQL, sin recuperar ni colocar en búfer las filas de resultado automáticamente, como mysql_query() lo hace. Por una parte, esto ahorra una considerable cantidad de memoria con las consultas SQL que producen conjuntos grandes de resultados y se puede empezar a trabajar con el conjunto de resultado inmediatamente después de que la primera fila ha sido recuperada: no necesita esperar hasta que la consulta SQL completa haya sido ejecutada. Para usar mysql_unbuffered_query() cuando se usan múltiples conexiones con la BD, se necesita indicar el parámetro opcional link_identifier para identificar que conexión se desea utilizar.”
Sin embargo los beneficios de mysql_unbuffered_query() tienen un precio: no poder usar mysql_num_rows() ni mysql_data_seek() en un conjunto de resultados devuelto por mysql_unbuffered_query(). También tendrás que recuperar todas las filas de resultado de una consulta SQL sin búfer antes de poder enviar una nueva consulta SQL a MySQL.

14. Almacena las direcciones IP como UNSIGNED INT

Muchos programadores crearían un campo VARCHAR(15) sin darse cuenta de que pueden almacenar las direcciones IP como números enteros. Cuando usas un INT sólo haces uso de 4 bytes en la memoria, y cuenta además con un tamaño fijo en la tabla.
Pero hay que asegurarse de que la columna sea UNSIGNED INT (entero sin signo) porque las direcciones IP hacen uso de todo el rango de 32 bits sin signo.
En tus consultas puedes utilizar la función INET_ATON() para convertir una dirección IP en entero, e INET_NTOA() para hacer lo contrario. También existen funciones parecidas en PHP llamadas ip2long() y long2ip().
  1. $r = "UPDATE users SET ip = INET_ATON(‘{$_SERVER['REMOTE_ADDR']}’) WHERE user_id = $user_id";

15. Las tablas de tamaño fijo (Estáticas) son más rápidas

Cuando cada una de las columnas en una tabla es de tamaña fijo (“fixed-length”), la tabla entera se considera “estática” o de “tamaño fijo”. Algunos ejemplos de tipos de columna que NO son de tamaño fijo son: VARCHAR, TEXT, BLOB. Si incluyes sólo uno de estos tipos de columna, la tabla dejará de ser de tamaño fijo y tendrá que ser tratada de forma distinta por el motor de MySQL.
Las tablas de tamaño fijo pueden incrementar la productividad porque para el motor de MySQL es más rápido buscar entre sus registros. Cuando quiere leer una fila en concreto de la tabla, puede calcular rápidamente la posición que ocupa. Si el tamaño de fila no es fijo, cada vez que tiene que buscar, ha de consultar primero el índice de la clave primaria.
También resultan más sencillas de cachear, y de reconstruir después de un accidente. Pero por otra parte también podrían ocupar más espacio. Por ejemplo, si conviertes un campo VARCHAR(20) en CHAR(20), siempre ocupará 20 bytes en la memoria independientemente de lo que contenga.
Usando técnicas de “Particionado Vertical”, puedes separar las columnas de tamaño variable en una tabla aparte. Lo cual nos lleva a:

16. Particionado Vertical

El particionado vertical es el acto de separar la estructura de tu tabla de forma vertical por razones de optimización.
Ejemplo 1: Seguramente tendrás una tabla de usuarios que contiene una dirección postal, la cual no se utiliza muy a menudo. Aquí podrías dividir la tabla y almacenar las direcciones en una tabla separada. De esta forma tu tabla de usuarios principal tendría un tamaño más ajustado. Como sabes, cuanto más pequeñas más rápidas son las tablas.
Ejemplo 2: Tienes un campo de “ultimo_acceso” en tu tabla. Se actualiza cada vez que un usuario accede a tu página. Pero cada acceso hace que la cache de consultas de esa tabla se libere. Lo que puedes hacer es colocar este campo en otra tabla para que las modificaciones en tu tabla de usuarios se mantenga al mínimo.
Pero también tienes que asegurarte de que no necesitas juntar las dos tablas constantemente después del particionado o sufrirás una caída en el rendimiento, justo lo contrario a lo que buscábamos.

17. Divide las consultas DELETE o INSERT grandes

Si necesitas ejecutar una consulta DELETE o INSERT que sea grande en una página web activa, tienes que tener cuidado de no alterar el tráfico web. Cuando una consulta grande como esas se ejecuta, puede bloquear tus tablas y paralizar tu aplicación web momentaneamente.
Apache ejecuta muchos procesos/hilos paralelamente. De ahí que funcione mucho más eficientemente cuando los scripts dejan de ejecutarse tan pronto como es posible, para que los servidores no experimenten muchas conexiones abiertas y procesos de una que consumen recursos, especialmente memoria primaria.
Si en algún momento bloqueas tus tablas en un periodo largo (como 30 segundos o más), en una web con mucho tráfico, causarás un apilamiento de procesos y consultas, que llevará mucho tiempo de concluir o que incluso podría estropear tu servidor web.
Si tienes algún script de mantenimiento que tiene que borrar una gran cantidad de filas, simplemente utiliza la cláusula LIMIT para hacerlo en porciones más pequeñas y así evitar la congestión.
  1. while (1) {  
  2.     mysql_query("DELETE FROM logs WHERE log_date <= ’2009-10-01′ LIMIT 10000");  
  3.     if (mysql_affected_rows() == 0) {  
  4.         // finalizado el borrado
  5.         break;  
  6.     }  
  7.     // incluso viene bien parar un poco
  8.     usleep(50000);  
  9. }  

18. Las columnas pequeñas son más rápidas

En los motores de bases de datos, la memoria en disco probablemente sea el cuello de botella más significativo. En términos de productividad, mantener las cosas reducidas y más compactas suele ayudar a reducir la cantidad de transferencia desde disco.
La documentación de MySQL tiene una lista de Requerimientos de Almacenamiento para todos los tipos de dato.
Si está previsto que una tabla tenga muy pocos registros, no hay razón para usar un INT para la clave primaria, en lugar de un MEDIUMINT, SMALLINT o incluso en algunos casos TINYINT. Y si no necesitas el componente del tiempo, puedes utilizar DATE en lugar de DATETIME.
Simplemente, debes asegurarte de que dejas espacio razonable para poder crecer, o podrías acabar como Slashdot.

19. Escoge el motor de almacenamiento adecuado

Los dos principales motores en MySQL son MyISAM y InnoDB, Cada uno tiene sus pros y sus contras.
MyISAM is adecuado para aplicaciones con mucha lectura, pero no escala cuando hay muchas escrituras. Incluso si estás editando un campo de una fila, la tabla completa se bloquea, y ningún otro proceso puede siquiera leer hasta que la consulta ha finalizado. MyISAM es muy rápido calculando consultas de tipo SELECT COUNT(*).
Inno DB tiende a ser un motor más complicado y puede ser más lento que MyISAM para la mayoría de aplicaciones pequeñas. Pero soporta bloqueo basado en fila, lo cual escala mejor. También soporta algunas características más avanzadas como las transacciones.

20. Usa un Mapeador de objetos relacionales

Al usar un ORM (Object Relational Mapper), puedes conseguir algunas mejoras en la productividad. Cualquier cosa que puede hacer un ORM, puedes programarlo a mano también. Pero podría significar demasiado trabajo extra y requerir de un alto nivel de experiencia.
Los ORM son perfectos para la “carga perezosa”. Significa que se puede obtener valores sólo cuando se necesitan. Pero hay que tener cuidado porque podría acabar creando demasiadas mini peticiones que perjudicarían al rendimiento.
Los ORM también pueden agrupar tus consultas en transacciones, que operan mucho más rápido que enviar consultas individuales a la base de datos.
Actualmente un ORM recomendable para PHP es Doctrine. Puedes leer cómo instalarlo en este artículo (inglés).

21. Ten cuidado con las conexiones persistentes

El objetivo de las Conexiones Persistentes es reducir el esfuerzo de reabrir conexiones con MySQL. Cuando se crea una conexión persistente, queda abierta incluso después de que el script haya acabado de ejecutarse. Dado que Apache reutiliza sus procesos hijos, el siguiente script reutilizaría la misma conexión MySQL.
En la teoría suena muy bien. Pero desde mi experiencia personal (y la de muchos otros), esta característica acaba por no merecer la pena. Puedes tener serios problemas con los límites de conexión, problemas de memoria y mucho más.
Apache ejecuta de forma extremadamente paralela, y crea muchos procesos hijo. Esta es la principal razón por la que las conexiones persistentes no funcionan muy bien en este entorno. Antes de que consideres usar la función mysql_pconnect(), consulta a tu administrador de sistemas.

Este escrito fue Copy & Paste de : http://boozox.net/mysql/20-consejos-para-mejorar-tu-mysql-que-quizas-no-conocias/En lo personal no estoy de acuerdo en el punto 20, un ORM comúnmente disminuye el desempeño y solo se debe de utilizar en desarrollos multi-plataforma, si manejas 100% MySQL es 100% mejor las librerías nativas




Como bloquera archivos adjuntos que son virus en postfix o plesk

   Como bloquear adjuntos del correo en Plesk/Postfix   1- edita el archivo  /etc/postfix/main.cf   2- busca el parametro mime_header_checks...