AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-5121

shantanuo's questions

Martin Hope
shantanuo
Asked: 2012-07-21 20:59:33 +0800 CST

Mesclar consultas em uma

  • 3

As 2 consultas a seguir estão funcionando conforme o esperado e mostram a contagem. É possível mesclá-los em uma única consulta? Preciso que as colunas sum_hits façam parte do restante da coluna mostrada na segunda consulta.

SELECT date_time, SUM(diac.requests) AS sum_hits
FROM ox_data_summary_ad_hourly diac
JOIN ox_zones z ON (z.zoneid = diac.zone_id)
JOIN ox_affiliates p ON (p.affiliateid = z.affiliateid AND p.agencyid = '3')
WHERE diac.date_time BETWEEN '2012-07-01 00:00:00' AND '2012-07-01 23:59:59'
AND p.agencyid = '3'
AND z.zone_type in ('application')
AND z.delivery in (8)
GROUP BY date_time

SELECT s.date_time AS date_time,
SUM(s.requests) AS sum_requests,
SUM(s.impressions) AS sum_views,
SUM(s.clicks) AS sum_clicks,
SUM(s.conversions) AS sum_conversions,
SUM(if(d.network_type like '%_user' and d.is_network=1,impressions,0)) AS sum_effimp,
SUM(s.total_revenue) AS sum_revenue,
SUM(s.total_revenue) AS sum_spend,
SUM(s.total_basket_value) AS sum_bv,
SUM(s.total_num_items) AS sum_num_items,
SUM(s.total_pubrevenue) AS sum_pubrevenue
FROM ox_data_summary_ad_hourly AS s
INNER JOIN ox_banners AS d ON (d.bannerid=s.ad_id)
INNER JOIN ox_campaigns AS m ON (m.campaignid=d.campaignid)
INNER JOIN ox_clients AS a ON (a.clientid=m.clientid)
LEFT JOIN ox_zones AS z ON (z.zoneid=s.zone_id)
LEFT JOIN ox_affiliates AS p ON (p.affiliateid=z.affiliateid)
WHERE a.agencyid = 3
AND z.zone_type = 'application'
AND z.delivery = 8
AND s.date_time>='2012-07-01 00:00:00' AND s.date_time<='2012-07-01 23:59:59'
GROUP BY date_time
mysql subquery
  • 1 respostas
  • 90 Views
Martin Hope
shantanuo
Asked: 2012-07-13 21:47:34 +0800 CST

Tabela de arquivo não funciona

  • 1

Eu tenho uma tabela de arquivo de 19 GB que está funcionando conforme o esperado em um servidor. Copiei os 2 arquivos a seguir para outro servidor. A tabela não está funcionando no novo servidor.

r_mi_raw_20120712.ARZ
r_mi_raw_20120712.frm

A primeira versão do servidor é 5.5.22-log MySQL Community Server (GPL) por Remi A segunda versão do servidor é: 5.5.20 MySQL Community Server (GPL)

Qual pode ser a razão? Quando eu usei mysqlshow db_name, ele listaria a tabela, mas quando eu uso --count, não obtenho a contagem. Em vez disso, obtenho o estado "Abrindo tabelas" para a lista de campos de comando.

atualizar:

o mysql parece estar gravando no arquivo ARN ...

r_mi_raw_20120712.ARN

Esta é uma otimização única? Como faço para melhorar a velocidade de criação do arquivo ARN?

mysql
  • 1 respostas
  • 404 Views
Martin Hope
shantanuo
Asked: 2012-07-11 02:36:07 +0800 CST

problema escravo com dados de carga

  • 1

Quando eu uso "load data infile" no mestre, os dados são transferidos corretamente para o escravo. Mas quando eu uso "load data local infile" do servidor remoto para o mestre, os dados não passam para o escravo.

Por que os dados do servidor remoto não são lidos pelo escravo?

mysql replication
  • 1 respostas
  • 242 Views
Martin Hope
shantanuo
Asked: 2012-06-07 20:54:00 +0800 CST

limite de arquivos abertos

  • 2

Estou recebendo o erro "muitos arquivos abertos" quando tento inserir registros em uma tabela particionada.

mysql> insira em test.ox_data_geo_span selecione * de vserv.ox_data_geo_span limite 100;

ERRO 1016 (HY000): Não é possível abrir o arquivo: './test/ox_data_geo_span.frm' (errno: 24)

perr 24

Código de erro do sistema operacional 24: muitos arquivos abertos

Se eu executar "tabelas niveladas", poderei inserir dados em alguma outra tabela. Mas preciso de uma forma de inserir em várias tabelas ao mesmo tempo.

mysql partitioning
  • 1 respostas
  • 8693 Views
Martin Hope
shantanuo
Asked: 2012-05-27 06:50:47 +0800 CST

O problema da chave primária com o escravo

  • 1

O escravo não está funcionando devido a um erro de chave primária, conforme mostrado abaixo:

      Last_SQL_Errno: 1062
       Last_SQL_Error: Error 'Duplicate entry '550696860' for key 'PRIMARY'' on query.
 Default database: 'vserv'. 
 Query: 
  'INSERT INTO ox_data_intermediate_ad
        (date_time, ad_id, zone_id, clicks, impressions, 
         requests, operation_interval, operation_interval_id, 
         interval_start, interval_end, creative_id, updated)
    SELECT
        date_time, ad_id, zone_id, SUM(clicks) AS clicks, 
        SUM(impressions) AS impressions, SUM(requests) AS requests, 
        5 AS operation_interval, 1871 AS operation_interval_id, 
        '2012-05-26 11:55:00' AS interval_start, 
        '2012-05-26 11:59:59' AS interval_end, 
        0 AS creative_id, '2012-05-26 12:04:01' AS updated
    FROM
        (
        SELECT
            interval_start AS date_time, creative_id AS ad_id, zone_id AS zone_id,
            count AS clicks, 0 AS impressions, 0 AS requests
        FROM
            ox_data_bkt_c
        WHERE
            interval_start >= '2012-05-26 11:55:00'
            AN

A consulta mencionada não tenta inserir a coluna auto-incrementada data_intermediate_ad_id. Ele espera que o mysql adicione automaticamente o próximo ID. Quando verifiquei o escravo, encontrei um registro para a chave primária 550696860.

Mestre é 5.0 e escravo é 5.5.24

O segundo escravo com versão 5.5.21 está funcionando bem. Este é um bug relacionado à versão 5.5.24?

A query que está com problema é a seguinte:

INSERT INTO
                ox_data_intermediate_ad
                (date_time, ad_id, zone_id, clicks, impressions, requests, operation_interval, operation_interval_id, interval_start, interval_end, creative_id, updated)
            SELECT
                date_time, ad_id, zone_id, SUM(clicks) AS clicks, SUM(impressions) AS impressions, SUM(requests) AS requests, 5 AS operation_interval, 1591 AS operation_interval_id, '2012-05-25 12:35:00' AS interval_start, '2012-05-25 12:39:59' AS interval_end, 0 AS creative_id, '2012-05-25 12:43:01' AS updated
            FROM
                (
                SELECT
                    interval_start AS date_time, creative_id AS ad_id, zone_id AS zone_id, count AS clicks, 0 AS impressions, 0 AS requests
                FROM
                    ox_data_bkt_c
                WHERE
                    interval_start >= '2012-05-25 12:35:00'
                    AND
                    interval_start <= '2012-05-25 12:39:59' UNION ALL 
                SELECT
                    interval_start AS date_time, creative_id AS ad_id, zone_id AS zone_id, 0 AS clicks, count AS impressions, 0 AS requests
                FROM
                    ox_data_bkt_m
                WHERE
                    interval_start >= '2012-05-25 12:35:00'
                    AND
                    interval_start <= '2012-05-25 12:39:59' UNION ALL 
                SELECT
                    interval_start AS date_time, creative_id AS ad_id, zone_id AS zone_id, 0 AS clicks, 0 AS impressions, count AS requests
                FROM
                    ox_data_bkt_r
                WHERE
                    interval_start >= '2012-05-25 12:35:00'
                    AND
                    interval_start <= '2012-05-25 12:39:59'
                ) AS virtual_table
            GROUP BY
                date_time, ad_id, zone_id

Gostaria de saber por que o escravo tem um problema com a insert into ... selectdeclaração.

mysql replication
  • 1 respostas
  • 1007 Views
Martin Hope
shantanuo
Asked: 2012-05-26 19:34:16 +0800 CST

Atualizações de escravos MyISAM extremamente lentas

  • 1

Eu tenho 2 escravos onde um está funcionando conforme o esperado, mas o outro escravo é extremamente lento ao executar updateinstruções. As instruções inserte deletesão rápidas.

Usei o comando check table tbl_namepara ver se alguma tabela MyISAM estava corrompida. Ambos os escravos são apenas MyISAM.

Estou usando (instância AWS ec2) ext3 para o escravo rápido e xfs para o outro. É por isso que as atualizações estão demorando?

mysql myisam
  • 1 respostas
  • 565 Views
Martin Hope
shantanuo
Asked: 2012-05-03 19:27:07 +0800 CST

Mantendo 2 tabelas em sincronia

  • 1

Eu preciso escrever um gatilho que manterá uma tabela sincronizada com outras 2 tabelas. Eu tenho table_a, table_b e table_c no slave. O mestre possui apenas a tabela_a e sempre que esta tabela for atualizada no mestre, as outras duas tabelas no escravo também devem ser atualizadas usando gatilhos ou qualquer outra forma.

Ou seja, preciso replicar apenas uma tabela deste slave. Como não há orçamento para mais um servidor, usarei o mesmo esquema escravo. Preciso escrever após atualizar, inserir e excluir gatilhos em table_a? Qual é a melhor abordagem?

mysql replication
  • 1 respostas
  • 3593 Views
Martin Hope
shantanuo
Asked: 2012-05-03 08:43:21 +0800 CST

Encontrando duplicatas em LEFT JOIN

  • 1

Aqui está a estrutura da minha tabela:

create table table_a (emp_name varchar(100), dept_name varchar(100));
insert into table_a values ('amar', 'finance');
insert into table_a values ('akbar', 'human_resource');
insert into table_a values ('amar', 'finance');
insert into table_a values ('anthony', 'information_technology');

create table table_b (emp_name varchar(100), dept_name varchar(100));
insert into table_b values ('amar', 'finance');
insert into table_b values ('akbar', 'human_resource');

mysql> select * from table_a as a left join table_b as b on a.emp_name = b.emp_name and a.dept_name = b.dept_name where b.dept_name is null;
+----------+------------------------+----------+-----------+
| emp_name | dept_name              | emp_name | dept_name |
+----------+------------------------+----------+-----------+
| anthony  | information_technology | NULL     | NULL      |
+----------+------------------------+----------+-----------+
1 row in set (0.00 sec)

A junção esquerda mencionada acima funciona conforme o esperado.

No entanto, o que eu preciso é de um registro para "amar" também porque existem 2 entradas para amar na tabela A e apenas 1 entrada na tabela B. Então, o resultado deve ser assim...

+----------+------------------------+----------+-----------+
| emp_name | dept_name              | emp_name | dept_name |
+----------+------------------------+----------+-----------+
| anthony  | information_technology | NULL     | NULL      |
| amar     | finance                | NULL     | NULL      |
+----------+------------------------+----------+-----------+
2 row in set (0.00 sec)

Preciso disso em um ambiente onde a precisão da contagem é mais importante do que a integridade dos dados. O número do registro da tabela B (2) + os resultados da consulta (2) devem corresponder aos números do registro da tabela A (4)

mysql join
  • 1 respostas
  • 2666 Views
Martin Hope
shantanuo
Asked: 2012-03-11 19:16:16 +0800 CST

Encontrar intervalo de cinco minutos antes da hora atual

  • 4

Eu quero encontrar o intervalo de cinco minutos antes da hora atual. Portanto, se a hora atual for 8h43, quero retornar 8h35 e 8h40. Aqui está a consulta que escrevi e está funcionando conforme o esperado. Eu quero saber se há alguma maneira melhor...

mysql> select now() ;
+---------------------+
| now()               |
+---------------------+
| 2012-03-11 08:43:06 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT date_sub(from_unixtime(unix_timestamp(curdate()) + floor(TIME_TO_SEC(now())/300)*300), interval 5 minute) as ten_minute_interval,  from_unixtime(unix_timestamp(curdate()) + floor(TIME_TO_SEC(now())/300)*300) as five_minute_interval;
+---------------------+----------------------+
| ten_minute_interval | five_minute_interval |
+---------------------+----------------------+
| 2012-03-11 08:35:00 | 2012-03-11 08:40:00  |
+---------------------+----------------------+
1 row in set (0.00 sec)


mysql> SELECT some better query...
mysql timestamp
  • 3 respostas
  • 11687 Views
Martin Hope
shantanuo
Asked: 2012-03-10 00:08:43 +0800 CST

índice não está sendo usado

  • 4

Eu tenho exatamente a mesma tabela myisam no mestre e no escravo. Os índices não estão sendo usados ​​no servidor mestre.

mysql> explain select count(date_time) from ox_data_summary_ad_hourly where  date_time = '2012-03-08 00:00:00' \G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: ox_data_summary_ad_hourly
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 32212292
        Extra: Using where
1 row in set (0.00 sec)

O plano de explicação no escravo:

mysql> explain select count(date_time) from ox_data_summary_ad_hourly where  date_time = '2012-03-08 00:00:00' \G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: ox_data_summary_ad_hourly
         type: ref
possible_keys: ox_data_summary_ad_hourly_date_time
          key: ox_data_summary_ad_hourly_date_time
      key_len: 8
          ref: const
         rows: 156769
        Extra: Using index
1 row in set (0.00 sec)

O mestre é 5.0 enquanto o escravo está na versão 5.5, se isso importa.

Isso significa que o arquivo de índice no mestre está corrompido?

mysql index
  • 1 respostas
  • 719 Views
Martin Hope
shantanuo
Asked: 2012-03-07 22:29:48 +0800 CST

Não é possível adicionar partições de lista

  • 2

A seguir está a instrução create table que está funcionando conforme o esperado. Mas se eu tiver uma tabela sem nenhuma partição e se eu tentar adicionar partições, parece que não consigo adicionar mais de 16 valores nela.

   CREATE TABLE `mypart` (
      `part_id` int(11) DEFAULT NULL
    ) ENGINE=MyISAM 
    PARTITION BY LIST (part_id)
    (
    PARTITION Jan10 VALUES IN (1,2,3,4,5) ENGINE = MyISAM,
    PARTITION Mar10 VALUES IN (734201,734202,734203,734204,734205,734206,734207,734208,734209,734210,734211,734212,734213,734214,734215,734216, 734217) ENGINE = MyISAM
    );

Todas as instruções a seguir devem ser executadas com sucesso e criar uma tabela conforme mostrado acima.

drop table mypart;
create table mypart (`part_id` int) ENGINE=MyISAM ;
alter table mypart partition by list(part_id) (PARTITION Jan10 VALUES IN (1, 2, 3, 4, 5));

mysql> alter table mypart add PARTITION (PARTITION Mar10 VALUES IN (734201, 734202, 734203, 734204, 734205, 734206, 734207, 734208, 734209, 734210, 734211, 734212, 734213,  734214, 734215,734216, 734217  ) ) ;
ERROR 1657 (HY000): Cannot have more than one value for this type of LIST partitioning

Neste ponto, a segunda instrução alter table não funciona e, portanto, não posso ter os 17 valores para a partição Mar10, conforme mostrado no primeiro exemplo. Se eu excluir o último valor 734217, a instrução alter table será bem-sucedida!

mysql> alter table mypart add PARTITION (PARTITION Mar10 VALUES IN (734201, 734202, 734203, 734204, 734205, 734206, 734207, 734208, 734209, 734210, 734211, 734212, 734213,  734214, 734215,734216));
Query OK, 0 rows affected (0.09 sec)
Records: 0  Duplicates: 0  Warnings: 0

Existe algum limite na instrução alter table que não se aplica à instrução create table?

mysql partitioning
  • 1 respostas
  • 281 Views
Martin Hope
shantanuo
Asked: 2012-02-02 07:07:18 +0800 CST

mysql auto ajustando valores máximos de conexões

  • 11

Eu configurei conexões máximas para cerca de 2000 no arquivo my.cnf.

max_connections=2048

Eu atualizei para 5.5.20 e agora vejo a seguinte linha no log de erros.

120201 19:40:24 [Warning] Changed limits: max_open_files: 1024  max_connections: 214  table_cache: 400

Por que o mysql mudou o valor máximo de conexões para 214?

# mysqladmin variables | grep max_connections
| max_connections | 214                                               

Arquivos abertos soft e hard restritos pelo sistema operacional são 1024

# ulimit -Sa | grep "open files"
open files                      (-n) 1024

# ulimit -Ha | grep "open files"
open files                      (-n) 1024

O número de conexões máximas realmente usadas:

# mysql -e"show status like '%used_connections%'"
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 95     |
+----------------------+-------+
mysql
  • 3 respostas
  • 32357 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

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

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve